0

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

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

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

似乎电源和屏幕超时的某种组合在系统级别杀死了我的节能线程。我知道这篇文章非常针对我的应用程序,但是以前有人遇到过类似的问题吗?

4

1 回答 1

1

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

于 2010-09-11T00:42:29.740 回答