Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android攔截外撥電話程序示例

Android攔截外撥電話程序示例

編輯:關於Android編程

攔截監聽外撥的電話,並進行處理:

向外撥打電話時系統會發出一個有序廣播,雖然該廣播最終會被拔號器裡的廣播接收者所接收並實現電話拔打,但我們可以在廣播傳遞給拔號廣播接收者之前先得到該廣播,然後清除傳遞給拔號廣播接收者的電話號碼,在拔號廣播接收者接收到該廣播時,由於電話號碼為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"/>

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved