我正在考虑编写一个简单的Android,该机器人执行具有以下要求的任务(例如,检索当前位置或向DB发送一些值)
实现此目的的正确方法是什么? IntentService? JobIntentService? JobScheduler?
答案 0 :(得分:0)
根据您的需要,有以下三种方法:
在所有三种情况下,您都需要存储对作业的引用(前两个选项可以存储和标识)。
当然,您也可以使用服务来执行此类操作,但是在所有情况下,请注意Doze Mode及其对应用程序的副作用。
希望这会给您一些提示。 干杯。
答案 1 :(得分:0)
鉴于您的要求,尤其是重复1或5分钟,唯一的选择是使用前台服务。
请记住,设备将在闲置一段时间后尝试进入打ze模式。您可以强制设备保持苏醒状态,但这确实对电池不利。
从Android Oreo开始,在应用程序在后台运行时获取位置信息对保存电池有一些限制: https://developer.android.com/about/versions/oreo/background-location-limits