我正在使用GcmNetworkManager
运行定期同步任务以将数据推送到我的服务器。
但是,在发布应用程序后,我注意到在某些手机中,永远不会调用周期性任务。
我已经调试了应用程序是其中一些手机并且没有看到任何异常,我在安排任务时没有任何错误或日志,但它们根本就没有被调用。
我的大多数用户都有Infinix部手机。
任何关于这可能是根本原因的想法?
以下是我安排任务的代码:
Task task = new PeriodicTask.Builder()
.setService(mClazz)
.setPeriod(TimeUnit.MILLISECONDS.toSeconds(period))
.setFlex(TimeUnit.MILLISECONDS.toSeconds(period / 5))
.setTag(TAG_SYNC)
.setUpdateCurrent(true)
.setRequiredNetwork(Task.NETWORK_STATE_CONNECTED)
.build();
mGcmNetworkManager.schedule(task);
答案 0 :(得分:0)
要从调度程序接收任务已准备好执行的通知,您的客户端应用必须实施
GcmTaskService
并过滤操作SERVICE_ACTION_EXECUTE_TASK
。
同样,根据GcmTaskService,您的实施应调用super.onStartCommand()
,否则您的任务将无法正确启动。
除此之外,此SO帖子中提供的解决方案 - GCM Network Manager - Periodic Task not firing也可能有所帮助。
快乐的编码!