我的应用程序使用的服务应该像时钟一样工作 - 它会广播一个滴答,然后使用处理程序通知自己下一个滴答。屏幕关闭时会删除处理程序消息,并在屏幕打开时恢复,以避免在暂停时执行任何操作。该服务还会以某种速率更新通知。
有时服务会停止。我打开屏幕,看到一个非常过时的通知。使用来自服务的数据(通过绑定)的应用程序显示过时的信息。进程列表中没有服务。并且没有错误消息。
服务的onDestroy()
方法包含一个显示通知的代码,例如“我被杀了,请重启我”,但这不会显示。
我知道我可以使用AlarmManager
定期重启我的服务,我可能不得不这样做,但如果还有其他解决方案,我很乐意知道。
有趣的事实:我从未在任何模拟器上遇到此问题,也没有在我之前的手机(摩托罗拉Milestone运行2.2)上遇到问题,也没有来自几个三星Galaxy S(2和3)用户的任何投诉。报告该错误的唯一人是LG手机的所有者。现在我在Nexus 4. LG阴谋上得到了相同的“突然停止服务器”?