-1

我已经尝试过作业调度程序和工作管理器,但它不能在打盹模式下工作,也不能在正常时间工作。我已经使用了正常的服务,这不适用于一些中国定制的 rom 手机,特别是 oppo 和 vivo。

我已使用警报管理器启动服务,但它也无法在此手机上运行任何类型的解决方案。

4

1 回答 1

1

如果您真的想让它在所有设备上运行,我建议您采用以下方法:

  1. 设置 Firebase 消息传递
  2. 为所有设备订阅特定主题,例如“UPDATE_LOCATION”
  3. 扩展FirebaseMessagingService和实施onMessageReceive()
  4. 如果您的数据消息包含更新位置的指令,请调用该方法来更新位置onMessageReceive()
  5. 触发从 Firebase 到“UPDATE_LOCATION”主题的重复消息(CRON 作业或计划任务)

与您已经尝试过的方法相比,它的工作量更大,但它适用于所有手机,也适用于设备重启和系统更新后。

额外的好处是您可以从后端控制位置更新程序(而不是依赖于应用程序更新的每个设备)。

于 2019-10-30T13:16:19.093 回答