2017-10-13 63 views
0

對於android應用程序,我希望在不同的日子使用Firebase作業調度程序啓動三個服務。我可以爲所有三個作業使用相同的FirebaseDispatcher對象嗎?同時,即使應用已關閉,如何維護相同的FirebaseDispatcher對象?如果我使用靜態對象,它將被清除,如果應用程序崩潰。那麼如何維護我的FirebaseDispatcher對象以使用相同的調度器對象來調度多個服務?或者我可以爲不同的服務創建不同的FirebaseDispatcher對象嗎?這是不錯的做法嗎?在android中使用Firebase作業調度程序的多個服務

回答

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

感謝您的幫助。 – sathish