当设备处于唤醒状态时,我尝试在特定时间间隔 中触发警报,这是我用来实现此目的的代码:
AlarmManager alarmManager = (AlarmManager) context.getSystemService(ALARM_SERVICE);
alarmManager.setInexactRepeating(AlarmManager.ELAPSED_REALTIME,
SystemClock.elapsedRealtime(),
INTERVAL_ONE_MINUTE,
pi);
考虑关于 AlarmManager.ELAPSED_REALTIME 的文档,当设备屏幕关闭时,不应该触发警报(如果我没有弄错)
SystemClock.elapsedRealtime()中的闹钟时间(自启动以来的时间,包括睡眠)。此警报不会唤醒设备;如果它在设备处于睡眠状态时熄灭,则在下次设备唤醒时才会发送
与我的预期相反,当屏幕关闭时系统会触发警报,我在这里遗漏了什么吗?
答案 0 :(得分:2)
你为什么不使用
LD_LIBRARY_PATH
在那里开火
protected void onPause();
答案 1 :(得分:1)
当他们谈到设备进入 sleep 时,这并不意味着屏幕已关闭。
请参阅:When does android device go to sleep mode?
请参阅:http://developer.android.com/training/scheduling/wakelock.html
当设备的屏幕未开启时,它仍然会被唤醒以不时地进行操作。为了节省电池,它会睡觉,但应用程序将不可避免地将其唤醒以做事。
您可以查看屏幕是否已开启:How can I tell if the screen is on in android?