2017-05-15 3 views
0

私はこのトピックについて何も見つかりませんでしたが、あなたのお勧めまたは「ベストプラクティス」に関する質問がの場合、にタスクをスケジュールするルールを設定すると好きですか?たとえば、アプリケーションが実行されている限り同期ジョブをスケジュールする必要がある場合、evernote android-job:スケジュールルールを設定する時期はいつですか?

と呼ばれるのはどこですか?

はありがとう

あなたはこのようなあなたの仕事のクラスをインスタンス化しますJobCreator作成する必要があり

答えて

1

public class MyJobCreator implements JobCreator { 

    @Override 
    public Job create(String tag) { 
     if (MyJob.TAG.equals(tag)) { 
      return new MyJob(); 
     } 

     return null; 
    } 
} 

をそしてApplication.onCreate()でそれを初期化します。

JobManager.create(this).addJobCreator(new MyJobCreator()); 
MyJob.scheduleJob(); 

MYJOBは次のようになります。

public class MyJob extends Job { 

    public static final String TAG = "my_job_tag"; 

    @Override 
    @NonNull 
    protected Result onRunJob(Params params) { 
     Intent i = new Intent(getContext(), MyService.class); 
     getContext().startService(i); 
     return Result.SUCCESS; 
    } 

    public static void scheduleJob() { 
     new JobRequest.Builder(MyJob.TAG) 
       .setPeriodic(60_000L) // 1 minute 
       .setRequiredNetworkType(JobRequest.NetworkType.ANY) 
       .setPersisted(true) 
       .setUpdateCurrent(true) 
       .setRequirementsEnforced(true) 
       .build() 
       .schedule(); 
    } 
} 
+0

1分が例外をスローします。あなたはそれを最低15分にしたいかもしれません。 – NinjaCoder

関連する問題