我一直在使用Android中的警报管理器看到一些奇怪的问题,尽管事实上我正在使用RTC(非唤醒)手机将以正确的重复间隔可靠地发送PendingIntents。
我的测试详情
根据我的理解,手机应该正在睡觉,除非我将其唤醒,并且在手机醒来之前不应发送我的警报。
答案 0 :(得分:4)
为什么我的服务正在执行?
据推测,其他东西让设备在那些时刻保持清醒。
如果另一项服务行为不当,并且使用警报的_WAKEUP变体,我的服务也会唤醒吗?
是的,虽然“行为不端”是旁观者的眼睛。
我可以避免被其他服务唤醒,只是从用户开启屏幕唤醒吗?
不直接通过AlarmManager
。您可以观看ACTION_SCREEN_OFF
和ACTION_USER_PRESENT
广播,也可以在这些广播之间停用闹钟。
答案 1 :(得分:0)
我花了一个小时试图找出为什么我的RTC警报发送PendingIntents即使我的手机正在睡觉。答案非常简单,因为它是用USB插入的,因此手机的状态为“充电”。
据推测,其他东西让设备清醒了 时刻。
很多带通知广告的应用程序(如AirPush,Leadbolt等)都会唤醒设备。