拨号拦截

1.在清单文件中注册广播

<receiver android:name="com.guo.lanjie.MyBroadReceiver" >
            <intent-filter android:priority="-1000" >
                <action android:name="android.intent.action.PHONE_STATE" />
            </intent-filter>
        </receiver>

        <receiver android:name="com.guo.lanjie.BoDa" >
            <intent-filter android:priority="-1000" >
                <action android:name="android.intent.action.NEW_OUTGOING_CALL" />
            </intent-filter>
        </receiver>
public class MainActivity extends Activity {

    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
}
public class BoDa extends BroadcastReceiver {

    public void onReceive(Context context, Intent intent) {
        String actiongString = intent.getAction();
        if (actiongString.equals("android.intent.action.NEW_OUTGOING_CALL")) {
            // 获取在拨号盘上拨出的内容
            String numString = getResultData();
            // 如果点击拨号键,将会自动拨打这个号
            //setResultData("110");
            Log.i("myTag", "拨号了:" + numString);
        } 
    }
}
public class MyBroadReceiver extends BroadcastReceiver {

    /**
     * 拨号广播,属于有序广播,系统调用sendorderBroadcast(参数1,参数2,...(其中一个参数就是要拨打的电话号码)...参数N);
     * 发送有序的广播
     * */
    public void onReceive(Context context, Intent intent) {

        String actiongString = intent.getAction();
        if (actiongString.equals("android.intent.action.PHONE_STATE")) {

            Log.i("myTag", "来电话了!");
            TelephonyManager manager = (TelephonyManager) context
                    .getSystemService(Service.TELEPHONY_SERVICE);
            switch (manager.getCallState()) {
            case TelephonyManager.CALL_STATE_IDLE:// 闲置
                Log.i("myTag", "闲置");
                break;
            case TelephonyManager.CALL_STATE_RINGING:// 响铃
                String numString = getResultData();
                Log.i("myTag", "打给:" + numString);
                //Log.i("myTag", numString + ",来电");
                Log.i("myTag", "响铃");
                break;
            case TelephonyManager.CALL_STATE_OFFHOOK:// 接听
                Log.i("myTag", "接听");
                break;
            }

        }

    }

}
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值