我正在嘗試打出去電時的意圖。但該應用程序崩潰。 我錯過了什麼,或者這是不能做到的? 或者有沒有辦法在呼叫創建事件和接收者的接聽呼叫事件之間打開不同的屏幕(活動/片段)?如何在android中撥出電話時打開新的顯示屏?
-1
A
回答
2
監聽呼出請求
應用提供電話呼叫服務(如VoIP或數 管理)可以設置意圖過濾器來處理呼出 請求,例如由撥號程序或其他已安裝的應用程序製作的請求。 這爲用戶提供了無縫集成,他們可以將 直接轉換到呼叫服務,而無需重撥或啓動 其他應用程序。
當用戶發起呼叫時,系統通知由 感興趣的應用程序發送所述
NEW_OUTGOING_CALL
意圖, 的有序廣播附着原電話號碼,URI,和其他信息 額外。這使得Google Voice等應用可以在撥打 默認電話應用之前修改,重新路由或取消呼叫。如果你希望你的手機通話應用能夠處理呼出 請求,實現接收
NEW_OUTGOING_CALL
意向廣播接收器,進程數,並開始根據需要調用 。確保在接收器中聲明NEW_OUTGOING_CALL
的意圖過濾器,讓系統知道您的應用程序對 廣播感興趣。您還需要請求PROCESS_OUTGOING_CALLS
權限才能收到意圖。需要注意的是該系統僅適用於不具有核心撥號功能,如 緊急電話號碼相關聯的廣播
NEW_OUTGOING_CALL
。這意味着NEW_OUTGOING_CALL
不能干涉 以使用CALL_PRIVILEGED
可能的方式訪問緊急服務。下面是一個應用的清單 文件中聲明的一個例子廣播接收器:
<manifest> <uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS" /> <application> ... <receiver android:name=MyOutgoingCallHandler"> <intent-filter> <action android:name="android.intent.action.NEW_OUTGOING_CALL" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </receiver> ... </application> </manifest>
相應的廣播接收器的實現看起來 是這樣的:
public class MyOutgoingCallHandler extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { // Extract phone number reformatted by previous receivers String phoneNumber = getResultData(); if (phoneNumber == null) { // No reformatted number, use the original phoneNumber = intent.getStringExtra(Intent.EXTRA_PHONE_NUMBER); } // My app will bring up the call, so cancel the broadcast setResultData(null); // Start my app to bring up the call ... } }
因爲
NEW_OUTGOING_CALL
廣播訂購,您的應用程序可以選擇是自己使用通話請求還是僅處理 th e號碼並將結果數據傳遞給其他可能對 感興趣的應用。在這個例子中,廣播接收器調用它自己的服務的電話 ,並將結果數據設置爲空。此 可防止呼叫請求到達默認電話應用程序。
相關問題
- 1. 在Android撥打電話時在撥號器屏幕上顯示Toast消息
- 2. 在撥入/撥出電話時自動打開撥號盤
- 3. 在android中撥打電話
- 4. 在android中撥打電話的來電顯示號碼
- 5. 如何實際撥打電話,不顯示號碼,在Android 6
- 6. 如何撥打不顯示android系統視圖的電話?
- 7. KSoap2 outOfMemoryError在撥打電話時Android
- 8. 如何打開撥號器屏幕/使用GWT手機撥打電話
- 9. 如何在Android中關閉我的手機時撥打電話
- 10. 在android中撥打電話的代碼
- 11. 撥打電話時Android sipdemo超時
- 12. 重新撥打電話與撥打電話
- 13. android-如何從webview撥打電話
- 14. 找出打出的電話是撥打電話還是撥打數據
- 15. android:在接聽電話時在後臺撥打電話
- 16. Android:撥打服務電話
- 17. 撥打電話Error Listener - Android
- 18. 如何在Android手機中禁用撥入和撥出電話
- 19. 在Android 2.1中撥打緊急電話
- 20. 在android中拒絕撥打電話
- 21. 在android中點擊textview撥打電話
- 22. 在android中使用intent撥打電話
- 23. 在Android中撥打電話意向
- 24. Android-撥打保留的電話並添加新的電話
- 25. 如何撥打電話?
- 26. WatchKit如何撥打電話
- 27. 在android中撥打電話號碼(點擊圖標可以撥打電話)嗎?
- 28. 如何在iphone中撥打電話?
- 29. 如何在Java EE中撥打電話
- 30. 撥打電話時撥打電話號碼。
請發表你已經嘗試了一些什麼成本 – arodriguezdonaire