在安卓中使用 Firebase 作业调度程序的多项服务



对于安卓应用,我想在不同的日子使用 Firebase 作业调度程序启动三项服务。我可以对所有三个作业使用相同的 FirebaseDispatcher 对象吗?同时,即使应用程序已关闭,如何维护相同的FirebaseDispatcher对象?如果我使用静态对象,如果应用程序崩溃,它将被清除。那么,如何维护我的 FirebaseDispatcher 对象,以便使用相同的调度程序对象调度多个服务呢?或者我可以为不同的服务创建不同的 FirebaseDispatcher 对象吗?这是好的做法吗?

  1. 您可以对所有作业使用相同的 FirebaseJobDispatcher。
  2. 关闭应用程序后,将执行您的作业。如何?这是Android操作系统的关注点。
  3. 您只需描述您的作业将在何时以及如何启动。仅此而已。再次阅读文档,并查看库源代码中的注释
  4. 您可以为不同的作业创建新的 FirebaseJobDispatcher。
  5. 误用静态对象 -- 是一种不好的做法。

所以

FirebaseJobDispatcher dispatcher1 =
    new FirebaseJobDispatcher(new GooglePlayDriver(context));
Job job1 = dispatcher1.newJobBuilder()
    .setService(YourService1.class)
    .setTag(Const.JOB_TAG_1)
    // more options to run
    .build();
Job job2 = dispatcher1.newJobBuilder()
    .setService(YourService2.class)
    .setTag(Const.JOB_TAG_2)
    // ...
    .build();
dispatcher1.mustSchedule(job1);
FirebaseJobDispatcher dispatcher2 =
    new FirebaseJobDispatcher(new GooglePlayDriver(context));
dispatcher2.mustSchedule(job2);
dispatcher1.cancel(Const.JOB_TAG_1);
dispatcher2.cancel(Const.JOB_TAG_2);

相关内容

  • 没有找到相关文章

最新更新