使用Android

时间:2017-10-13 07:24:34

标签: firebase-job-dispatcher

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

1 个答案:

答案 0 :(得分:1)

  1. 您可以对所有作业使用相同的FirebaseJobDispatcher。
  2. 当应用程序关闭时,您的作业将被执行。怎么样?这是Android OS的关注点。
  3. 您只需说明您的工作将在何时以及如何推出。一切都好。再次阅读文档并查看库源代码中的注释
  4. 您可以为不同的作业创建新的FirebaseJobDispatcher。
  5. 误用静态物体 - 是不好的做法。
  6. 所以

    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);