bonjour;
j'ai un probleme avec jobservice.je voudrais faire un timer qui repete une tache apres un temps défini(par exemple le lendemain a une heure précise)
dans mainactivity j'ai la methodeet la classe receiver:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 mScheduleJobButton.setOnClickListener( new View.OnClickListener() { @Override public void onClick(View v) { ComponentName cn=new ComponentName(getPackageName(),JobSchedulerService.class.getName()); JobInfo ji=new JobInfo.Builder(1,cn ) // .setMinimumLatency(3000) .setPeriodic(3000) .build(); // if( mJobScheduler.schedule( builder.build() ) <= 0 ) { if( mJobScheduler.schedule(ji ) <= 0 ) { //If something goes wrong } } }); mCancelAllJobsButton.setOnClickListener( new View.OnClickListener() { @Override public void onClick( View v ) { mJobScheduler.cancelAll(); } });avec setperiodic j'obtiens bien la repétition
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 public class JobSchedulerService extends JobService { private Handler mJobHandler = new Handler( new Handler.Callback() { @Override public boolean handleMessage( Message msg ) { Toast.makeText( getApplicationContext(), "JobService task running", Toast.LENGTH_SHORT ).show(); jobFinished( (JobParameters) msg.obj, false ); return true; } } ); @Override public boolean onStartJob(JobParameters params ) { mJobHandler.sendMessage( Message.obtain( mJobHandler, 1, params ) ); return true; } @Override public boolean onStopJob( JobParameters params ) { mJobHandler.removeMessages( 1 ); return false; } }
avec setminimumlatency (qui devrais me donner le départ délayé selon moi??) je n'obtiens rien alors que j'attends le message
je ne sais pas comment délayer le départ
Partager