2016-12-20 4 views
2

The Job Schedular устанавливается следующим образом класспланировщик заданий не работает в Xiaomi андроида

ComponentName mServiceComponent = new ComponentName(context, TestJobService.class); 
    JobInfo.Builder builder = new JobInfo.Builder(jobId, mServiceComponent); 
    builder.setPeriodic(3 * 60 * 1000); 
    builder.setRequiredNetworkType(JobInfo.NETWORK_TYPE_NONE); 
    builder.setRequiresDeviceIdle(false); 
    builder.setRequiresCharging(false); 
    builder.setPersisted(true); 
    JobScheduler jobScheduler = (JobScheduler) ChaseForceApplication.getAppContext().getSystemService(Context.JOB_SCHEDULER_SERVICE); 
    jobScheduler.schedule(builder.build()); 

TestJobService как это:

@TargetApi(Build.VERSION_CODES.LOLLIPOP) 
public class TestJobService extends JobService { 

@Override 
public boolean onStartJob(JobParameters params) { 
    Utility.writeToTheFile(ChaseForceApplication.getAppContext(), "\n\n Job Scheduler StartJob with jobid="+params.getJobId()+" set at " + new Date().toString()); 

    sendBroadcast(new Intent(this, OnSingleAlarmReceiver.class)); 
    return false; 
} 

@Override 
public boolean onStopJob(JobParameters params) { 
    Log.i(ChaseForceApplication.TAG, "on stop job: " + params.getJobId()); 
    Utility.writeToTheFile(this, "on stop job: " + new Date().toString()); 
    return false; 
} 

} 

Он работает на большинстве устройств, даже в других Xiaomi телефонов но в Xiaomi Redmi 3S он не работает.

Есть ли какой-либо параметр, необходимый для Job Schedular, чтобы он работал на этом устройстве?

+0

добавлены дополнительные теги, улучшает компоновку и формулировки – rene

+0

кажется в Xiaomi Mi4i не работает тоже. –

+0

Он работает, пока приложение находится в списке последних приложений. Не пропустив его ни с помощью службы JobService, ни с AlarmService (я тоже ее попробовал), запланированная задача не существует. – RoK

ответ