android nougat中的作业计划程序未运行
我试图让作业调度程序每3秒运行一次,但它在android noughat上不起作用。这是我的密码android nougat中的作业计划程序未运行,android,android-7.0-nougat,android-jobscheduler,android-7.1-nougat,Android,Android 7.0 Nougat,Android Jobscheduler,Android 7.1 Nougat,我试图让作业调度程序每3秒运行一次,但它在android noughat上不起作用。这是我的密码 mJobScheduler = (JobScheduler) getSystemService( Context.JOB_SCHEDULER_SERVICE ); JobInfo.Builder builder = new JobInfo.Builder( 1, new ComponentName( getPackageNa
mJobScheduler = (JobScheduler) getSystemService( Context.JOB_SCHEDULER_SERVICE );
JobInfo.Builder builder = new JobInfo.Builder( 1,
new ComponentName( getPackageName(), JobSchedulerService.class.getName() ) );
builder.setPeriodic(3000);
builder.setRequiresDeviceIdle(false);
builder.setPersisted(true);
JobInfo j=builder.build();
mJobScheduler.schedule(j);
包含要对作业执行的代码的作业计划服务
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 ) {
// Toast.makeText( getApplicationContext(), "kutta", Toast.LENGTH_SHORT ).show();
mJobHandler.sendMessage( Message.obtain( mJobHandler, 1, params ) );
return true;
}
@Override
public boolean onStopJob( JobParameters params ) {
mJobHandler.removeMessages( 1 );
return false;
}
}
作业可调度的最短时间为15分钟。这是从牛轧糖开始的。如果将其设置为小于15分钟的值,则作业将使用15分钟 复制并粘贴下面的功能描述 查询定期计划作业允许的最小间隔。试图声明一个较小的时间段,在安排作业时,该时间段将导致作业仍然是周期性的,但将在此有效时间段内运行
最有可能的是,至少有一分钟的时间。AlarmManager有这样一个限制。不,问题是它在android Marshmallow上工作,但这个限制是否也适用于firebase作业调度器firebase作业调度器不使用该限制,因为它使用Google Play服务中的调度组件。我不熟悉Google Play服务中的调度限制。firebase作业调度器的一个新问题可能会为您提供一个答案或该库的一些实验。