拦截监听外拨的电话,并进行处理:
向外拨打电话时系统会发出一个有序广播,虽然该广播最终会被拔号器里的广播接收者所接收并实现电话拔打,但我们可以在广播传递给拔号广播接收者之前先得到该广播,然后清除传递给拔号广播接收者的电话号码,在拔号广播接收者接收到该广播时,由于电话号码为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"/>
以上是内存溢出为你收集整理的Android拦截外拨电话程序示例全部内容,希望文章能够帮你解决Android拦截外拨电话程序示例所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)