希望对某人来说很容易,但会给我带来麻烦。
我有一个循环声音文件的应用程序。我在 onPause 中没有代码,因为我希望应用程序继续在后台播放音乐。
如果收到来电,我现在需要关闭应用程序。
我可以将代码添加到 onPause 并关闭活动并停止媒体播放器。但是,如果启动了任何应用程序,这将停止应用程序。
如何检测来电以检查内部 onPause?
希望对某人来说很容易,但会给我带来麻烦。
我有一个循环声音文件的应用程序。我在 onPause 中没有代码,因为我希望应用程序继续在后台播放音乐。
如果收到来电,我现在需要关闭应用程序。
我可以将代码添加到 onPause 并关闭活动并停止媒体播放器。但是,如果启动了任何应用程序,这将停止应用程序。
如何检测来电以检查内部 onPause?
为了检测来电,我们为动作 android.intent.action.PHONE_STATE 注册了一个 BroadcastReceiver。这将在电话状态发生变化时广播。接收意图将有一个额外的字符串变量 TelephonyManager.EXTRA_STATE 描述电话状态。如果此状态是 TelephonyManager.EXTRA_STATE_RINGING,那么将有另一个额外的字符串变量 TelephonyManager.EXTRA_INCOMING_NUMBER。此变量包含传入的电话号码。请注意,当状态不是 TelephonyManager.EXTRA_STATE_RINGING 时,此变量将不存在。
来源:http ://www.androiddevblog.net/android/detecting-incoming-and-outgoing-calls-in-android
基本上,一旦您注册了广播接收器,您就可以收听您对手机感兴趣的广播通知,然后采取相应的行动。
你不必。Android 负责暂停您的应用程序 - 您必须使用电话管理器来确定是否停止您的应用程序。正确的方法是在 onPause() 方法中处理这个