Android屏幕锁/车载充电器正在杀死我的线程

时间:2010-09-11 00:38:40

标签: android multithreading power-management airplane

我有一个非常棘手的问题,我无法解决。我有一个应用程序,我可以远程进入飞机模式,以节省电力。我有一个线程正在运行,它获取省电消息,删除所有其他线程的回调,将手机置于飞行模式,等待指定的分钟数,然后再将手机唤醒。

当手机插入我的笔记本电脑(启用USB调试等)时,此功能就可以了。手机进入飞行模式,屏幕锁定,然后在特定的几分钟后,应用程序“醒来”并继续正常。

当手机插入车载充电器时,手机会进入飞行模式,但线程永远不会唤醒手机。只有当屏幕也设置为超时时才会出现此问题...当我将屏幕设置为“永不超时”并将手机插入车载充电器时,应用程序就可以正常唤醒。

似乎电源和屏幕超时的某种组合会在系统级别杀死我的省电线程。我知道这篇文章对我的申请非常具体,但有没有人遇到过类似的问题呢?

1 个答案:

答案 0 :(得分:1)

如果要等待n分钟,则需要使用警报,而不是线程。当应用程序不在前台时,您永远不能假设线程保持活动状态。查看http://developer.android.com/reference/android/app/AlarmManager.html