我有一个要求,我必须每小时向服务器发送一些数据,即使在打瞌睡模式、活动模式或睡眠模式下也是如此。工作管理器文档说它尊重打瞌睡模式。我只想知道有什么方法可以做到这一点吗?
Minsdkversion版本是21。支持瓷器店。我也想支持OS8和OS9。
workmanager中的setRequiresDeviceIdle(true)约束是什么?它只在打瞌睡模式下工作吗?
除了WorkManager之外,我还能用其他什么方法来实现这一点吗?
发布于 2018-09-21 00:26:18
到目前为止,据我所知,确保您的应用程序在正确的时间、100%的时间发送通知的唯一方法是使用AlarmManager - Alarm Clock
否则,AlarmManager setExactAndAllowWhileIdle (从API27开始)将不会总是在打瞌睡模式下工作。WorkManager也是如此。基本上,您需要创建您的Worker并在其中设置一个AlarmClock,以便在一小时后再次启动Worker。需要注意的是,在AlarmClock、噪声、振动等情况下,它的行为与您预期的一样。
https://stackoverflow.com/questions/52429343
复制相似问题