ジョブスケジューラは定期的に10分ごとに実行されます。私は、アプリケーションが実行されるとすぐにスケジュールを実行するために何をしなければならず、10分ごとに定期的に実行し続けます。今何が起こるのか:アプリをインストールした後、スケジュールを実行するのに10分かかります。それを最初に実行してから10分ごとに繰り返す方法私はonStartJob()でサーバーにデータを更新するコードを持っています。アップロード時間は7分から25分です。私は10分ごとにデータをアップロードしたいが、ランダムに変化する。何故ですか?JobScheduler issue android
JobInfo jobInfo =
new JobInfo.Builder(MYJOBID, jobService).setPeriodic(600000).
setRequiredNetworkType(JobInfo.NETWORK_TYPE_ANY).
setRequiresCharging(false).
setRequiresDeviceIdle(false).
setPersisted(true).
setExtras(bundle).
build();
int jobId = jobScheduler.schedule(jobInfo);
if(jobScheduler.schedule(jobInfo)>0){
Toast.makeText(LiveTrack.this,
"Successfully scheduled job: " + jobId,
Toast.LENGTH_SHORT).show();
}else{
Toast.makeText(LiveTrack.this,
"RESULT_FAILURE: " + jobId,
Toast.LENGTH_SHORT).show();
}
。
public class MyJobService extends JobService {
@Override
public boolean onStartJob(JobParameters jobParameters) {
new MyDownloadTask().execute();
return false;
}
}
hi ..ansのおかげで。 onStop()メソッドには 'return false'ステートメントがあります。私はそれをtrueに設定すると、それは動作していません(つまり、データはサーバーで更新されません)。何故ですか? –
@AmritaSthaお受け取りいただきありがとうございます。私はあなたが '' 'onStopJob()' 'を意味すると思います。 javadocを読むと、 '' onStartJob() ''が失敗する可能性が高いときに '' 'onStopJob()' 'が呼び出されたときに表示されます。 '' 'onStopJob()' ''から戻ってくるのは単純にrjobを再試行するかどうかをシステムに示しています。私はこれを別の質問と考えています。私はあなたに詳細について別の質問をすることをお勧めします。 – iceman
申し訳ありませんが、onStartJob()... trueが返された場合、その中のコードは機能しません。 –