【问题标题】:Multiple services using Firebase job dispatcher in android在 android 中使用 Firebase 作业调度程序的多个服务
【发布时间】:2017-10-13 07:24:34
【问题描述】:

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

【问题讨论】:

    标签: firebase-job-dispatcher


    【解决方案1】:
    1. 您可以对所有作业使用相同的 FirebaseJobDispatcher。
    2. 当应用程序关闭时,您的作业将被执行。如何?这是 Android 操作系统的问题。
    3. 您只需描述何时以及如何启动您的作业。就是这样。再次阅读文档并查看库源代码中的 cmets
    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);
    

    【讨论】:

    • 感谢您的帮助。
    猜你喜欢
    • 2017-06-18
    • 1970-01-01
    • 1970-01-01
    • 2014-08-28
    • 2017-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多