我开发了一个音乐相关的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. 通过iPhone中的应用程序处理来电呼叫xcode
- 7. 如何处理应用程序运行时的来电
- 8. 来电处理线程
- 9. ASP.NET应用程序来处理来自单个进程的多个请求
- 10. 的Android - 注册我的应用程序来处理URL
- 11. 在Android中处理来电Android
- 12. 处理来自应用程序的网页表单
- 13. 处理来自桌面应用程序的特殊URL
- 14. 如何处理来自MVVM应用程序的持久登录?
- 15. 处理应用程序关闭来自图标的呼叫
- 16. 处理来自JSON响应
- 17. 处理Android应用程序暂停来电并在通话结束后恢复
- 18. 写服务器来处理来自Swift应用程序的发布请求
- 19. 如何处理来自本机android应用程序的JavaScript事件?
- 20. 可以在Android应用程序中处理来自PHP文件的会话
- 21. 处理来自Playstore的传入Facebook应用程序请求ID android
- 22. Express(NodeJS)无法处理来自Xamarin Android应用程序的帖子
- 23. 来自URL调用的处理响应
- 24. 处理来自Symfony的应用
- 25. 来自处理程序的Android句柄消息
- 26. 来自未知来源的Android应用程序
- 27. HTTP处理程序来处理.zips
- 28. ASP.Net未处理的异常处理程序来操纵响应
- 29. 来自iphone应用程序的自动电子邮件
- 30. 在WP7应用程序中调用和处理来自Rest服务的响应
如果您希望在未将活动放在前景中的情况下继续播放音乐,则效果并不理想。 – Syntax