Firebase Network Dispatcher 在应用关闭后停止工作.但是GCM网络管理器非常适合上述情况



我有一个场景,即使应用程序关闭,我也必须侦听 XMPP 连接状态。现在我正在使用Firebase网络调度程序,因为GCM网络管理器已被弃用,它仅在应用程序处于前台/后台时才有效。每当应用程序关闭时,它都会停止。任何人都可以有建议吗?下面是我的代码片段。

Driver driver = new GooglePlayDriver(getApplicationContext());
FirebaseJobDispatcher firebaseJobDispatcher = new FirebaseJobDispatcher(driver);
Job constraintReminderJob = firebaseJobDispatcher.newJobBuilder()
.setService(FirebaseService.class)
.setTag("Notify Tag")
.setLifetime(Lifetime.UNTIL_NEXT_BOOT)
.build();
firebaseJobDispatcher.schedule(constraintReminderJob);
Driver driver = new GooglePlayDriver(context);
FirebaseJobDispatcher firebaseJobDispatcher = new FirebaseJobDispatcher(driver);
Job constraintReminderJob = firebaseJobDispatcher.newJobBuilder()
.setService(ReminderService.class)
.setTag(REMINDER_JOB_TAG)
.setConstraints(Constraint.DEVICE_CHARGING)
.setLifetime(Lifetime.FOREVER)
.setRecurring(true)
.setTrigger(Trigger.executionWindow(
REMINDER_INTERVAL_SECONDS,
REMINDER_INTERVAL_SECONDS + SYNC_FLEXTIME_SECONDS
))
.setReplaceCurrent(true)
.build();
firebaseJobDispatcher.schedule(constraintReminderJob);

最新更新