我使用Evernote的Android Job库。版本1.2.0。
对于日常工作,我使用DailyJob(https://evernote.github.io/android-job/javadoc/com/evernote/android/job/DailyJob.html):
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;
}
}
onRunDailyJob
启动Application类onCreate()吗?
答案 0 :(得分:3)
我是图书馆的主要开发者。如果您的进程没有运行,那么首先调用您的Appliction#onCreate()。这对图书馆来说并不具体。如果你的进程已经死了,那么Android会以这种方式工作。