我有一个非常棘手的问题,我无法解决。我有一个应用程序,我可以远程进入飞机模式,以节省电力。我有一个线程正在运行,它获取省电消息,删除所有其他线程的回调,将手机置于飞行模式,等待指定的分钟数,然后再将手机唤醒。
当手机插入我的笔记本电脑(启用USB调试等)时,此功能就可以了。手机进入飞行模式,屏幕锁定,然后在特定的几分钟后,应用程序“醒来”并继续正常。
当手机插入车载充电器时,手机会进入飞行模式,但线程永远不会唤醒手机。只有当屏幕也设置为超时时才会出现此问题...当我将屏幕设置为“永不超时”并将手机插入车载充电器时,应用程序就可以正常唤醒。
似乎电源和屏幕超时的某种组合会在系统级别杀死我的省电线程。我知道这篇文章对我的申请非常具体,但有没有人遇到过类似的问题呢?
答案 0 :(得分:1)
如果要等待n分钟,则需要使用警报,而不是线程。当应用程序不在前台时,您永远不能假设线程保持活动状态。查看http://developer.android.com/reference/android/app/AlarmManager.html。