2016-12-20 3 views
2

Der Job Schedular gesetzt, wie folgtJob-Scheduler nicht in xiaomi Arbeits android

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()); 

Die TestJobService Klasse ist wie folgt:

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

} 

Es ist auf den meisten Geräten arbeiten, auch in anderen xiaomi Telefone aber in Xiaomi Redmi 3S funktioniert es nicht.

Ist eine Einstellung erforderlich, damit Job Schedular auf dem Gerät funktioniert?

+0

hinzugefügt zusätzliche Tags zu laufen, verbessert das Layout und Formulierung – rene

+0

Es scheint in Xiaomi Mi4i nicht zu arbeiten. –

+0

Es funktioniert, während sich die App in der Liste der zuletzt verwendeten Apps befindet. Nach dem Abwischen gibt es weder JobService noch AlarmService (ich habe es ausprobiert) geplante Aufgabe existiert nicht mehr. – RoK

Antwort

Verwandte Themen