Android拦截外拨电话程序示例
Android拦截外拨电话程序示例
发布时间:2016-12-28 来源:查字典编辑
摘要:拦截监听外拨的电话,并进行处理:向外拨打电话时系统会发出一个有序广播,虽然该广播最终会被拔号器里的广播接收者所接收并实现电话拔打,但我们可以...

拦截监听外拨的电话,并进行处理:

向外拨打电话时系统会发出一个有序广播,虽然该广播最终会被拔号器里的广播接收者所接收并实现电话拔打,但我们可以在广播传递给拔号广播接收者之前先得到该广播,然后清除传递给拔号广播接收者的电话号码,在拔号广播接收者接收到该广播时,由于电话号码为null,因此取消电话拔打。

复制代码 代码如下:

Intent intent = new Intent(Intent.ACTION_CALL,Uri.parse("tel:110"));

startActivity(intent);

复制代码 代码如下:

public class OutCallReceiver extends BroadcastReceiver {

public void onReceive(Context context, Intent intent) {

setResultData(null); //清除电话,广播被传给系统的接收者后,因为电话为null,取消电话拔打

// 同样如果你想修改外拔的电话号码,可以这样做

// String phone = getResultData();//得到外拔电话

// setResultData(“12593”+ phone);//在电话前面加上12593

}

}

接收外拔电话广播Intent,在AndroidManifest.xml文件中的<application>节点里订阅此Intent:

复制代码 代码如下:

<receiver android:name=".OutgoingCallReceiver">

<intent-filter android:priority="1">

<action android:name="android.intent.action.NEW_OUTGOING_CALL"/>

</intent-filter>

</receiver>

并且要进行权限声明:

复制代码 代码如下:

<uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS"/>

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新安卓软件开发学习
热门安卓软件开发学习
编程开发子分类