2017-10-13 10 views
0

Android 앱의 경우 다른 날에 firebase 작업 디스패처를 사용하여 세 가지 서비스를 시작하고 싶습니다. 세 가지 작업 모두에 대해 동일한 FirebaseDispatcher 객체를 사용할 수 있습니까? 한편, 어떻게 응용 프로그램이 닫혀 있지만 동일한 FirebaseDispatcher 개체를 유지하기 위해?. 정적 객체를 사용하면 앱이 다운되면 지워질 것입니다. 그렇다면 동일한 Dispatcher 객체를 사용하여 여러 서비스를 예약하기 위해 FirebaseDispatcher 객체를 유지 관리하는 방법은 무엇입니까? 또는 다른 서비스를 위해 다른 FirebaseDispatcher 객체를 생성 할 수 있습니까? 좋은 습관입니까?android에서 Firebase 작업 디스패처를 사용하는 여러 서비스

답변

0
  1. 모든 작업에 동일한 FirebaseJobDispatcher를 사용할 수 있습니다.
  2. 응용 프로그램이 닫히면 작업이 실행됩니다. 방법? 이것은 안드로이드 OS에 대한 우려입니다.
  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); 
+0

감사합니다. – sathish