在android中监听呼出电话(电话拦截、修改呼出电话)
2019獨角獸企業重金招聘Python工程師標準>>>
在android中向外撥打電話時系統會發出一個有序廣播,雖然該廣播最終會被拔號器里的廣播接收者所接收并實現電話拔打,但我們可以在廣播傳遞給拔號廣播接收者之前先得到該廣播,然后清除傳遞給拔號廣播接收者的電話號碼,在拔號廣播接收者接收到該廣播時,由于電話號碼為null,因此取消電話拔打。
具體實現:
1.定義廣播接收者接收?android.intent.action.NEW_OUTGOING_CALL
<receiver?android:name=".OutgoingCallReceiver">
????<intent-filter?android:priority="1">
?????????<action?android:name="android.intent.action.NEW_OUTGOING_CALL"/>
????</intent-filter>
</receiver>
2.添加權限<uses-permission? android:name="android.permission.PROCESS_OUTGOING_CALLS"/>
3.實現代碼
public?class?OutgoingCallReceiver?extends?BroadcastReceiver?{
?????public?void?onReceive(Context?context,?Intent?intent)?{
???????????setResultData(null);?//清除電話,廣播被傳給系統的接收者后,因為電話為null,取消電話拔打
??????
??????????//?同樣如果你想修改外拔的電話號碼,可以這樣做
??????????//?String?phone?=?getResultData();//得到外拔電話
??????????//?setResultData(“12593”+?phone);//在電話前面加上12593
?????}
}
轉載于:https://my.oschina.net/AlexZhuang/blog/53492
總結
以上是生活随笔為你收集整理的在android中监听呼出电话(电话拦截、修改呼出电话)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux中ssh连接慢的一种解决方法
- 下一篇: POJ_2593最大两不想交子段和问题