Я использовал таймер для вызова метода с интервалом в 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" />