我想创建一个应用程序,获取用户在上午9:00至晚上9:00每5分钟的位置现在我不能思考流程了。在上我搞不懂
请帮我提些建议/建议。如何在手机电池和效率方面以最好的方式实现这一点。
发布于 2017-06-26 14:48:40
你可以使用handler来查询位置,你可以这样做
Handler handler = new Handler();
Runnable runnable = new Runnable() {
public void run() {
currentLocation = getCurrentUserLocation();
handler.postDelayed(this, 1000*60*5);
}
}
};
handler.postDelayed(runnable, 1000*60*5);
为了检查时间间隔是否在之间,您可以为该任务设置一个告警管理器。
一旦达到时间限制,您需要通过以下方式删除处理程序回调
handleLocation.removeCallbacksAndMessages(null);
发布于 2017-06-26 15:00:50
对于超过30秒的时间间隔,不应该使用Handler.postDelayer(),因为它可能会导致内存泄漏。开发两种策略-一种用于短时间间隔-少于30秒,使用处理程序;另一种使用AlarmManager (用于较长间隔)。
发布于 2017-06-26 15:40:53
您可以设置更新间隔为5分钟,位置request.it也兼容安卓"O“。
https://stackoverflow.com/questions/44754189
复制相似问题