在来电时杀死应用

时间:2011-11-30 07:34:41

标签: android android-activity onpause

希望对某人来说很容易,但却给我带来了麻烦。

我有一个循环声音文件的应用程序。我在onPause中没有代码,因为我希望应用程序继续在后台播放音乐。

我现在需要应用程序在收到来电时关闭。

我可以将代码添加到onPause并关闭活动并停止媒体播放器。但是,如果启动任何应用程序,这将停止应用程序。

如何检测来电以检查onPause内部?

2 个答案:

答案 0 :(得分:2)

  

为了检测来电,我们注册了一个BroadcastReceiver   动作android.intent.action.PHONE_STATE。这将被播出   当手机状态发生变化时。接收意图将有   一个额外的字符串变量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

基本上,一旦您注册了广播接收器,您就可以收听您对手机感兴趣的广播通知,然后采取相应行动。

答案 1 :(得分:1)

你不必。 Android负责暂停您的应用程序 - 您必须使用电话管理器来确定是否停止您的应用程序。正确的方法是在onPause()方法

中处理这个问题