PhoneStateListener事件有时会停止接收

时间:2010-01-21 06:38:09

标签: android

我的应用程序处理传入/传出呼叫并显示一些UI。 所以我使用PhoneStateListener来监听CALL_STATE_IDLE,CALL_STATE_RINGING,CALL_STATE_OFFHOOK等更改。收到来自我的BroacastReceiver的呼叫以进行呼入/呼出呼叫。

大部分时间情况都正常。但有时我的应用程序不会收到PhoneStateListener的事件,因此无法更改/清除UI。根据用户反馈,这通常发生在HTC Hero上。但我也曾在其他设备上遇到过这个问题。

我的第一个猜测是,由于内存需求,android在呼叫期间中途杀死我的应用程序。如果是这样,有没有办法确保android在这种情况下不会杀死我的应用程序。

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

  

如果是这样,有没有办法确保这一点   android不是我的杀毒应用程序   在这种情况下。

不,没有。

您可能希望考虑从PhoneStateListener切换到收听ACTION_PHONE_STATE_CHANGED广播Intents。这样,您的代码就不需要继续运行。

答案 1 :(得分:0)

我遇到了同样的问题:几个小时后,听力似乎被取消了。为了解决这个问题,我创建了一个Timer,每隔30分钟就会重复一次监听:创建一个Timer,在服务中调用一个TimerTask类,其中包含监听请求并生成Timer每隔X毫秒调用一次TimerTask类。这对我有用。

相关问题