我開發了一個音樂相關的android應用程序。來電時處理媒體播放器時遇到問題。我想在通話過程中暫停音頻並在通話結束後恢復。我需要建議是否使用帶有onstatechanged的TelephonyManager暫停和恢復音頻(或)任何其他方法,以在傳入呼叫期間暫停和恢復應用程序本身。處理來自Android應用程序的來電
回答
在您的活動中使用onPause()
和onResume()
方法。來電時,調用onPause()方法。並且在呼叫掛斷時調用onResume()。
即使用戶點擊某個其他應用發送的通知,也可以使用該功能。
這裏你去
在清單中包含以下權限。
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
然後
PhoneStateListener phoneStateListener = new PhoneStateListener() {
@Override
public void onCallStateChanged(int state, String incomingNumber) {
if (state == TelephonyManager.CALL_STATE_RINGING) {
} else if(state == TelephonyManager.CALL_STATE_IDLE) {
Play music
} else if(state == TelephonyManager.CALL_STATE_OFFHOOK) {
Pause music
}
super.onCallStateChanged(state, incomingNumber);
}
};
TelephonyManager mgr = (TelephonyManager) getSystemService(TELEPHONY_SERVICE);
if(mgr != null) {
mgr.listen(phoneStateListener, PhoneStateListener.LISTEN_CALL_STATE);
}
而且是一個很好的Android公民在onDestroy
if(mgr != null) {
mgr.listen(phoneStateListener, PhoneStateListener.LISTEN_NONE);
}
中註銷當用戶拿起電話,然後CALL_STATE_OFFHOOK
將得到called.There你可以寫代碼暫停播放。
它工作正常,但我想停止音頻只有當用戶接受呼叫不是在狀態響鈴。 – user1526671
@ user1526671查看我的更新回答。 –
謝謝...它工作正常...... – user1526671
- 1. 處理來電android
- 2. 處理來自瀏覽器的來電
- 3. 識別來電的Android應用程序
- 4. 來自AIR應用程序的電話
- 5. 在處理來自應用
- 6. 如何處理應用程序運行時的來電
- 7. 通過iPhone中的應用程序處理來電呼叫xcode
- 8. 來電處理線程
- 9. ASP.NET應用程序來處理來自單個進程的多個請求
- 10. 的Android - 註冊我的應用程序來處理URL
- 11. 處理應用程序關閉來自圖標的呼叫
- 12. 如何處理來自MVVM應用程序的持久登錄?
- 13. 處理來自應用程序的網頁表單
- 14. 處理來自桌面應用程序的特殊URL
- 15. 在Android中處理來電Android
- 16. 處理Android應用程序暫停來電並在通話結束後恢復
- 17. 處理來自JSON響應
- 18. 寫服務器來處理來自Swift應用程序的發佈請求
- 19. 如何處理來自本機android應用程序的JavaScript事件?
- 20. 處理來自Playstore的傳入Facebook應用程序請求ID android
- 21. Express(NodeJS)無法處理來自Xamarin Android應用程序的帖子
- 22. 可以在Android應用程序中處理來自PHP文件的會話
- 23. 處理來自Symfony的應用
- 24. 來自URL調用的處理響應
- 25. 來自處理程序的Android句柄消息
- 26. 來自未知來源的Android應用程序
- 27. HTTP處理程序來處理.zips
- 28. ASP.Net未處理的異常處理程序來操縱響應
- 29. 來自iphone應用程序的自動電子郵件
- 30. 在WP7應用程序中調用和處理來自Rest服務的響應
如果您希望在未將活動放在前景中的情況下繼續播放音樂,則效果並不理想。 – Syntax