因此,从Android SDK for GcmNetworkManager
public static final int RESULT_RESCHEDULE
表示任务执行失败,必须采用退避重试的方式重新尝试。
Task task = new OneoffTask.Builder()
.setService(MyService.class)
.setExecutionWindow(0, 15)
.setUpdateCurrent(true)
.setRequiredNetwork(Task.NETWORK_STATE_CONNECTED)
.setRequiresCharging(false)
.build();
mGcmNetworkManager.schedule(task);
在MyService内部
public int onRunTask(TaskParams taskParams) {
/** task execution logic here */
if (success) {
return RESULT_SUCCESS;
} else {
return RESULT_RESCHEDULE;
}
}
当执行失败时,它将返回RESULT_RESCHEDULE,并且将进行重试。那么我想知道它什么时候会重试?
谢谢。