requestLocationUpdates minTime参数用途

Jon*_*ong 4 gps android locationmanager

我正在创建一个应用程序(用于教育目的),每30分钟记录一次用户的位置,并使用户可以查看地图上的所有位置.我不希望更新频率超过30分钟,但确实如此.

这是我打电话的方式requestLocationUpdates:

locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,  30 * 60 * 1000,  0, pe);
Run Code Online (Sandbox Code Playgroud)

现在,文档清楚地说:

位置更新之间经过的时间永远不会小于minTime

但我确实在这里看到了一些不同的答案(例如,这个答案).

看起来我无法通过GPS获得更新.GPS图标永远不会关闭,更新率大于1更新/秒.所以我在这里有两个问题:

  1. minTime参数不能实现其目的,甚至不作为提示(是的,提示30分钟更新率导致超过更新一秒......).它做了什么呢?
  2. 还有其他办法吗?我不希望GPS一直启用,因为它会消耗我的电池太快.也许我可以安排每30分钟重复一次的闹钟,并打电话requestSingleUpdate

Sam*_*Sam 5

minTime参数不能实现其目的,甚至不作为提示(是的,提示30分钟的更新速率导致超过更新一秒......).它做了什么呢?

从Jellybean开始,设备必须遵守minTime参数,因此它有一个目的(现在).

还有其他办法吗?我不希望GPS一直启用,因为它会消耗我的电池太快.也许我可以安排每30分钟重复一次的警报,并调用requestSingleUpdate?

是的,使用处理程序requestSingleUpdate()每30分钟请求一次更新.

我之前在上一个问题中已经解决了这个问题,让我知道该答案中的代码是否有帮助,如果您有任何问题则无法解决.