我有一个场景,需要在特定时间使用 WorkManager 给用户发送通知。
如何在特定时间安排 Work,并且即使用户强制停止应用程序或应用程序没有运行,它也应该出现。
我的当前代码如下:
Data d = new Data.Builder().putInt(IntentConstants.SCHEDULE_ID, scheduleData.getScheduleID()).build();
OneTimeWorkRequest compressionWork =
new OneTimeWorkRequest.Builder(ScheduleWorker.class)
.setInputData(d)
.build();
WorkManager.getInstance().enqueue(compressionWork);
WorkManager
工作。但是,你可以通过使用高优先级的 FCM 来确保你被列入白名单,并将工作排队(和运行)。另一种选择是使用AlarmManager
的setExactAndAllowWhileIdle()
方法。参考这里(Doze 和 App Standby 部分)- https://google-developer-training.gitbooks.io/android-developer-fundamentals-course-concepts/content/en/Unit%203/82c_scheduling_alarms_md.html#scheduling - HedeH