有关Alarm Manager行为和唤醒锁的问题

时间:2012-01-11 16:50:36

标签: android alarmmanager android-wake-lock

我在我的服务中使用警报管理器每隔15秒设置一次非唤醒警报来执行某项任务。我不想唤醒手机因为任务不是时间关键,所以我使用ELAPSED_REALTIME标志来设置闹钟。这是代码:

alarm.setRepeating(AlarmManager.ELAPSED_REALTIME, SystemClock.elapsedRealtime(), 15 * 1000, intentRecurringChecks);

我在日志中注意到的是,任务每15秒执行一次。这是否意味着即使手机的屏幕已关闭半小时,手机也会保持清醒状态?有没有办法可以确定我的应用程序不是唤醒手机的人?

我搜索过这个主题,但找不到合适的答案。

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

首先,您不应该使用AlarmManager进行此类超时。这在documentation中明确提到(阅读粗体部分)。在您的情况下,最好使用基于Handler的计时器。这是一个例子:Repeat a task with a time delay?

其次,当设备通过USB连接时,它不会进入深度睡眠模式。您应该断开设备等一两分钟。将其重新连接并分析日志。

相关问题