电话打入和打出的区别

电话打入和打出的区别


打入

    TelephonyManager mTm = (TelephonyManager) this
            .getSystemService(Context.TELEPHONY_SERVICE);

    mCallListener = new CallInListener();
    mTm.listen(mCallListener, PhoneStateListener.LISTEN_CALL_STATE);


private class CallInListener extends PhoneStateListener {
    @Override
    public void onCallStateChanged(int state, String incomingNumber) {
        if (state == TelephonyManager.CALL_STATE_RINGING) {
            // 查号码得到地址
            String address = NumberAddressDao.findAddress(
                    NumberAddressService.this, incomingNumber);

            Log.d(TAG,"号码归属地是 : " + address);

// Toast.makeText(NumberAddressService.this,
// “号码归属地是 : ” + address, 1).show();
mAddressToast.show(address);
}else if (state == TelephonyManager.CALL_STATE_IDLE) {
mAddressToast.hide();
}
}
}


打出

    mCallOutReceiver = new CallOutReceiver();

    IntentFilter filter =new IntentFilter();
    filter.addAction(Intent.ACTION_NEW_OUTGOING_CALL);

    registerReceiver(mCallOutReceiver,filter);

    private class CallOutReceiver extends BroadcastReceiver{

    @Override
    public void onReceive(Context context, Intent intent) {
        String number = intent.getStringExtra(Intent.EXTRA_PHONE_NUMBER);

        String address = NumberAddressDao.findAddress(NumberAddressService.this, number);

// Toast.makeText(NumberAddressService.this,
// “号码归属地是 : ” + address, 1).show();
mAddressToast.show(address);

    }

}

@Override
public void onDestroy() {
    super.onDestroy();
    Log.d(TAG, "归属地显示服务关闭");
    mTm.listen(mCallListener,PhoneStateListener.LISTEN_NONE);

    unregisterReceiver(mCallOutReceiver);
}

权限

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值