我需要一个需要互联网连接并在重新启动后仍然存在的定期任务。我已经取得了很多成就,但问题是我希望应用程序在我退出后也能继续工作。
如,如果我存在应用程序并关闭 wifi 然后再次将其关闭(如果时间已到),则应触发任务并在后台工作。
这是 startPeriodicTask 方法
public void startPeriodicTask() {
Log.d(TAG, "startPeriodicTask");
// [START start_periodic_task]
PeriodicTask task = new PeriodicTask.Builder()
.setService(MyTaskService.class)
.setTag(TASK_TAG_PERIODIC)
.setPeriod(30L)
.setPersisted(true) // to persist after reboot
.setRequiredNetwork(Task.NETWORK_STATE_ANY )
.build();
mGcmNetworkManager.schedule(task);
// [END start_periodic_task]
}
我只是在检查 playServices 后立即在 OnCreate 中调用此方法
checkPlayServicesAvailable();
startPeriodicTask();
我已将此添加到清单中,以便在重新启动后继续执行该作业
<uses-permission android:name="android.Manifest.permission.RECEIVE_BOOT_COMPLETED" />