Планировщик заданий не работает в фоновом режиме, когда приложение убито в android версии 7,8,9,10? - PullRequest
0 голосов
/ 31 января 2020

Я использовал таймер для вызова метода с интервалом в 15 минут в планировщике заданий. Но планировщик заданий работает только на этапе запуска приложения, и если я убью приложение, планировщик заданий не сработает. Как запустить планировщик заданий на работу после того, как я убил свое приложение?

здесь мой фрагмент кода

MainActivity. java

public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    startJob();
}

private void startJob(){
    JobScheduler jobScheduler = (JobScheduler)getApplicationContext()
            .getSystemService(JOB_SCHEDULER_SERVICE);

    ComponentName componentName = new ComponentName(this,
            RecallMyServicesis.class);

    JobInfo jobInfo = new JobInfo.Builder(1, componentName)
            .setRequiredNetworkType(JobInfo.NETWORK_TYPE_ANY)
            .setRequiresCharging(true)
            .setOverrideDeadline(15*60*1000)
            .setPersisted(true)
            .build();
    int result = jobScheduler.schedule(jobInfo);
    if(result == JobScheduler.RESULT_SUCCESS)
    {
        Log.d("MainActivity","Success");
    }else
    {
        Log.d("MainActivity","Failed");
    }
}
}

RecallMyServicesis. java

public class RecallMyServicesis extends JobService {

private static final String TAG = "RecallMyServicesis";

@Override
public boolean onStartJob(JobParameters jobParameters) {
    System.out.println("Job Fired");
    for(int i = 0; i < 10; i++){
        System.out.println("Job Fired i : "+i);
        Toast.makeText(this, "Job Fired i : "+i, Toast.LENGTH_SHORT).show();
        SystemClock.sleep(1000);
    }
    jobFinished(jobParameters, false );
    return true;
}

@Override
public boolean onStopJob(JobParameters jobParameters) {
    return false;
}
}

AndroidManifest. xml

 ​<service android:name=".RecallMyServicesis"
              android:permission="android.permission.BIND_JOB_SERVICE" />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...