Blackberry:PhoneListener不会持久存在

时间:2012-03-26 18:27:39

标签: blackberry

我使用的是Blackberry曲线9300。

我制作了一个应用程序,其中我添加了PhoneListener,每次拨打电话时都会执行某些操作。我添加了SystemListener和SystemListener2,以便每次手机powerUp(),reset()或fastReset()时都会添加侦听器。我确保该应用程序也可以在系统启动时启动。该应用程序工作正常。

现在,问题是如果我让手机闲置一段时间(比如几个小时)并再次开始使用,PhoneListener就会停止工作。它不再检测到拨出电话。

如果您将手机闲置一段时间,似乎会删除PhoneListener。删除PhoneListener以及如何处理它的那段时间到底发生了什么?

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

这有点奇怪的情况。在这种情况下我该怎么做:

  1. 在PhoneListener中实现一个方法,比如public void nudge()。此方法记录对象的当前状态以及当前时间。应将所有日志信息写入设备文件系统上的EventLogger实例和/或文本文件。

  2. 实现一个控制PhoneListener对象完整性的TimerTask。它只是检查对象的存在(!= null,并调用nudge()方法)。请注意,如果设置了较短的重复周期,则会优先记录媒体卡上的文本文件。向使用内部设备内存的EventLogger写入大量数据可能会使您的设备挂起甚至无法使用它。

  3. 检查日志文件。

  4. 它可能会让你知道发生了什么。