2017-10-12 18 views
1

Evernote에서 Android 작업 라이브러리를 사용합니다. 버전 1.2.0.Android 작업 라이브러리 DailyJob이 (가) Application 클래스를 생성합니까?

public class DailySyncJob extends DailyJob { 

    public static final String TAG = "DailySyncJob"; 

    public static void schedule() { 
     if (!JobManager.instance().getAllJobRequestsForTag(TAG).isEmpty()) { 
      // job already scheduled, nothing to do 
      return; 
     } 

     JobRequest.Builder builder = new JobRequest.Builder(TAG).setRequiredNetworkType(JobRequest.NetworkType.UNMETERED); 

     // run job between 11pm and 6am 
     DailyJob.schedule(builder, TimeUnit.HOURS.toMillis(23), TimeUnit.HOURS.toMillis(6)); 
    } 

    @NonNull 
    @Override 
    protected DailyJobResult onRunDailyJob(Params params) { 
     // do something 
     return DailyJobResult.SUCCESS; 
    } 
} 

는 Application 클래스에서 onCreate()를 시작 onRunDailyJob합니까 : 매일 작업에 대한

나는 그런 (https://evernote.github.io/android-job/javadoc/com/evernote/android/job/DailyJob.html) DailyJob 사용할 수 있습니까?

+0

필자는 완전히 명확하지는 않지만 매일의 작업은'WorkerThread'와'PowerManager.WakeLock'을 기반으로하고 있습니다. 질문을 업데이트하면이 대답이 도움이 될 것입니다. 그 이해에. –

답변

3

저는 도서관의 주요 개발자입니다. 프로세스가 실행 중이 아니면 Appliction # onCreate()가 먼저 호출됩니다. 라이브러리에만 해당되는 것은 없습니다. 안드로이드는 당신의 프로세스가 이미 죽었다면 이런 식으로 작동합니다.