【发布时间】:2017-11-08 08:51:40
【问题描述】:
我正在尝试定期将我的位置值从 android 手机发送到服务器应用程序,并将时间段设置为 1 分钟。当我启动该服务时,jobservice 工作正常,但在我解锁手机几分钟后,Jobservice 在 1 秒内发送两个数据。我的代码有什么问题吗
MainActivity.java
JobScheduler jobScheduler=
(JobScheduler)getSystemService(Context.JOB_SCHEDULER_SERVICE);
ComponentName jobService = new ComponentName(getPackageName(),
ServiceClass.class.getName());
JobInfo.Builder jobInfo = new JobInfo.Builder(MY_JOB, jobService);
PersistableBundle bundle = new PersistableBundle();
jobInfo.setPeriodic(period*60*1000);
int jobId = jobScheduler.schedule(jobInfo.build());
if(jobId>0){
Toast.makeText(MainActivity.this,"Successfully scheduled job
",Toast.LENGTH_SHORT).show();
btstartservice.setEnabled(false);
btstopservice.setEnabled(true);
}else{
Toast.makeText(MainActivity.this,"Faild to start service
",Toast.LENGTH_SHORT).show();
}
ServiceClass.java
public class ServiceClass extends JobService implements LocationListener{
public boolean onStartJob(JobParameters params) {
getLocation();
return false;
}
@Override
public boolean onStopJob(JobParameters params) {
Toast.makeText(getApplicationContext(),"Service
Stopped",Toast.LENGTH_SHORT).show();
return false;
}
}
【问题讨论】:
标签: java android android-jobscheduler