我们正在使用gcmtaskservice将用户异步创建的实体上传到我们的服务器。
这对数千个用户没有任何问题,但对于至少两个用户,任务被安排了,但永远不会运行。
我们使用此代码安排任务(scheduling
是一个自定义对象,保留了安排任务所需的一些参数):
// Build the OneOffTask
OneoffTask task = new OneoffTask.Builder()
.setExecutionWindow(2, 5)
.setService(MyGcmTaskService.class)
.setTag(scheduling.getTag())
.setUpdateCurrent(true)
.setRequiredNetwork(scheduling.isWiFiRequired() ? OneoffTask.NETWORK_STATE_UNMETERED : OneoffTask.NETWORK_STATE_CONNECTED)
.setExtras(scheduling.getExtrasBundle())
.build();
// Schedule it
this.mManager.schedule(task);
我们正在使用com.google.android.gms:play-services-gcm:9.8.0
。谢谢!
检查手机是否已激活了此应用程序的电池优化(DOZE)。它忽略了所有可能对电池构成威胁的应用程序,例如背景服务。
https://es.verizonwireless.com/support/knowledge-base-202636/