作业调度android系统中的牛轧糖不运行(Job scheduler in android nou

2019-10-28 09:15发布

我努力使每3秒后,作业调度运行,但它并不在Android noughat工作。 这里是我的代码。

     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;
        }

    }

Answer 1:

最低期限工作可以安排为15分钟。 这开始与牛轧糖。 如果它被设置为一个值不到15分钟,作业将使用15分钟。

MIN_PERIOD_MILLIS

getMinPeriodMillis()复制和下面的函数描述糊

查询允许定期调度作业的最小间隔。 试图声明一个较小的时期,这时候调度作业将导致作业仍然是周期性的,但将与此有效期运行。



文章来源: Job scheduler in android nougat is not running