Для приложения для Android я хочу запустить три службы, используя диспетчер заданий firebase в разные дни. Могу ли я использовать один и тот же объект FirebaseDispatcher для всех трех заданий? Между тем, как поддерживать тот же объект FirebaseDispatcher, даже если приложение закрыто? Если я использую статический объект, он будет очищен в случае сбоя приложения. Итак, как поддерживать мой объект FirebaseDispatcher для планирования нескольких служб с использованием одного и того же объекта диспетчера? или Могу ли я создать другой объект FirebaseDispatcher для разных служб? Это хорошая практика?
Несколько сервисов, использующих диспетчер заданий Firebase в Android
Ответы (1)
- Вы можете использовать один и тот же FirebaseJobDispatcher для всех заданий.
- Когда приложение будет закрыто, ваши задания будут выполнены. Как? Это касается ОС Android.
- Вы просто описываете, когда и как будут запущены ваши задания. Это все. Прочтите документацию еще раз и посмотрите комментарии в исходном коде библиотеки.
- Вы можете создать новый FirebaseJobDispatcher для разных заданий.
- Неправильное применение статических объектов - плохая практика.
So
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);
person
tim4dev
schedule
15.10.2017
Спасибо за вашу помощь.
- person sathish; 17.10.2017