Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/182.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 安卓打瞌睡报警窗口_Android_Android Doze - Fatal编程技术网

Android 安卓打瞌睡报警窗口

Android 安卓打瞌睡报警窗口,android,android-doze,Android,Android Doze,我想将我的应用程序更新到Android 6,并使用AlarmManager安排我的后台服务。对于我的服务来说,在大约一小时长的窗口内被叫醒是很重要的。它必须在那个窗口中醒来,所以设备一退出就不能打瞌睡,但我不在乎它什么时候在窗口中醒来 我现在使用.setWindow设置闹钟。当我想让它在打瞌睡模式下工作时,我必须使用什么?没有设置窗口和AllowHileId 据我所知,设置一个窗口而不是固定的时间应该是首选,尤其是在打瞌睡模式下。看起来Android最终决定严格控制电池优化,因此打瞌睡模式很困难

我想将我的应用程序更新到Android 6,并使用AlarmManager安排我的后台服务。对于我的服务来说,在大约一小时长的窗口内被叫醒是很重要的。它必须在那个窗口中醒来,所以设备一退出就不能打瞌睡,但我不在乎它什么时候在窗口中醒来

我现在使用.setWindow设置闹钟。当我想让它在打瞌睡模式下工作时,我必须使用什么?没有设置窗口和AllowHileId


据我所知,设置一个窗口而不是固定的时间应该是首选,尤其是在打瞌睡模式下。看起来Android最终决定严格控制电池优化,因此打瞌睡模式很困难。关键是,你真的不应该在已经静止了几个小时的设备上做任何工作,而应该等到维护窗口(作业将开始)或用户拿起他们的设备

对于不精确或周期性的工作,请探索:这就是它的真正目的,并为您提供各种各样的日程安排[基于周期性、计量/非计量网络、收费等标准]

他们不想让我们在打瞌睡的时候做任何工作。所以从我所能想到的,您的“每小时一次”用例从现在起就是最好的承诺。时间表和“希望”。话虽如此,安卓N有一个更“宽松”的打盹模式版本,其中维护窗口更快。你可以测试一下,我的感觉是它不像听起来那么悲观。这项政策是公平的:如果用户表现出与手机互动的意图,他们会触发工作

参考号

我的应用程序的全部目的是在用户不与设备交互时记录数据。所以我需要在打瞌睡模式下唤醒设备。因此,我认为我必须设置一个精确的警报,以确保它在我的窗口中发生,而不是仅仅设置一个窗口,并为系统提供更多的可能性来批处理警报,这是很糟糕的。是的,你是对的,设置精确的警报[在19岁以后无论如何都不精确],而不是窗口看起来是适合你的方式。“我的应用程序的全部目的是在用户不与设备交互时记录数据”——这是android不再想要的。他们的论点是,闲置设备上不应发生电池耗电。因为用户没有使用相同的。