在android中向外拨打电话时系统会发出一个有序广播,虽然该广播最终会被拔号器里的广播接收者所接收并实现电话拔打,但咱们能够在广播传递给拔号广播接收者以前先获得该广播,而后清除传递给拔号广播接收者的电话号码,在拔号广播接收者接收到该广播时,因为电话号码为null,所以取消电话拔打。android
具体实现:spa
1.定义广播接收者接收 android.intent.action.NEW_OUTGOING_CALLget
<receiver android:name=".OutgoingCallReceiver">it
<intent-filter android:priority="1">io
<action android:name="android.intent.action.NEW_OUTGOING_CALL"/>ast
</intent-filter>class
</receiver>权限
2.添加权限<uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS"/>filter
3.实现代码co
public class OutgoingCallReceiver extends BroadcastReceiver {
public void onReceive(Context context, Intent intent) {
setResultData(null); //清除电话,广播被传给系统的接收者后,由于电话为null,取消电话拔打
// 一样若是你想修改外拔的电话号码,能够这样作
// String phone = getResultData();//获得外拔电话
// setResultData(“12593”+ phone);//在电话前面加上12593
}
}