我使用的是Blackberry曲线9300。
我制作了一个应用程序,其中我添加了PhoneListener,每次拨打电话时都会执行某些操作。我添加了SystemListener和SystemListener2,以便每次手机powerUp(),reset()或fastReset()时都会添加侦听器。我确保该应用程序也可以在系统启动时启动。该应用程序工作正常。
现在,问题是如果我让手机闲置一段时间(比如几个小时)并再次开始使用,PhoneListener就会停止工作。它不再检测到拨出电话。
如果您将手机闲置一段时间,似乎会删除PhoneListener。删除PhoneListener以及如何处理它的那段时间到底发生了什么?
提前感谢您的帮助。
答案 0 :(得分:2)
这有点奇怪的情况。在这种情况下我该怎么做:
在PhoneListener中实现一个方法,比如public void nudge()
。此方法记录对象的当前状态以及当前时间。应将所有日志信息写入设备文件系统上的EventLogger实例和/或文本文件。
实现一个控制PhoneListener对象完整性的TimerTask。它只是检查对象的存在(!= null,并调用nudge()
方法)。请注意,如果设置了较短的重复周期,则会优先记录媒体卡上的文本文件。向使用内部设备内存的EventLogger写入大量数据可能会使您的设备挂起甚至无法使用它。
检查日志文件。
它可能会让你知道发生了什么。