在android中監聽呼出電話(電話攔截、修改呼出電話)

在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

     }

}

相關文章
相關標籤/搜索