0%

android 拦截拨打电话

Android在拨打电话时会发送一个Action为android.intent.action.NEW_OUTGOING_CALL的广播,系统拨号器收到广播后启动执行拨号操作,所以,要拦截拨号动作,只需要拦截这个广播,并阻止其继续传播,即可。 写个BroadCast,在AndroidManifest.xml中注册:

        <receiver android:name=".CallReceiver" >
            <intent-filter android:priority="1000">
                <action android:name="android.intent.action.NEW_OUTGOING_CALL" />
            </intent-filter>
        </receiver>

android:priority为设置广播接收器的优先级。系统的拨号器是1 在BroadcastReceiver中,可以使用clearAbortBroadcast()方法阻止广播继续传播。