我正在开发一个应用程序,它使用AlarmManager在后台生成一些服务.时序对我们的应用程序非常重要,功能不能等待下一个维护窗口发生.要求用户将应用程序列入白名单不是问题,但不能解决暂停警报的问题.电池消耗也不是一个大问题.
我想到的第一个可能的解决方案是生成一个始终运行的前台服务来处理服务的重新安排而不是AlarmManager,但这样做会改变我们应用程序的大部分基础结构,对我们来说是不可行的.
我刚刚实现的当前修复是发送高优先级推送通知,并在接收消息时,完全唤醒锁定并打开屏幕以打破打盹模式.
我想知道是否有另一种打破打盹模式的方法?也可以不用唤醒锁?实施上述解决方案会产生一些可能的后果吗?
PS我正在使用UrbanAirship进行推送通知.
android android-6.0-marshmallow android-doze-and-standby android-doze