我正在开发一个通过 wifi 连接到特殊设备的应用程序。我需要在短时间内进行状态更新,分别。使我的特殊设备在应用程序中的状态保持最新。FCM 不是一种选择。我的想法是给用户两个选择:使用前台服务的快速更新或使用定期更新机制的“慢”更新以节省电池。
我的问题是关于第二种选择。间隔应该在五分钟左右。JobScheduler
因此无法使用。但即使使用AlarmManager
似乎也不是一个选项,因为我无法在打瞌睡维护窗口期间获得网络访问权限。
我考虑过使用 aWakefulBroadcastReceiver
来接收Intent
,AlarmManager
要求 aWakeLock
并通过调用将我的长期运行Service
变成前台startForeground()
。但似乎只要设备处于打盹模式,该startForeground()
方法就没有效果。Service
我阅读了很多关于打瞌睡和服务的页面,但不知道如何解决我的问题......有人知道吗?