Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/223.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 定期获取位置更新时出现问题_Android_Geolocation - Fatal编程技术网

Android 定期获取位置更新时出现问题

Android 定期获取位置更新时出现问题,android,geolocation,Android,Geolocation,我正在使用位置管理器获取位置更新。我使用了位置管理器的RequestLocationUpdates(提供程序、Timein毫秒、distanceinmeters、侦听器) 当我提供最短30秒的延迟来获取下一个位置更新时,我假设它应该休息30秒来请求新的位置更新。但据我观察,这并没有发生 我也尝试指定最小距离,但仍然没有达到我的预期 我想要的是在每10分钟或定期移动100米后获得位置更新。但我不想使用任何计时器线程或进行任何计算,以确保我已经移动了100米的距离 是否可以仅使用位置管理器获取此内容

我正在使用位置管理器获取位置更新。我使用了位置管理器的RequestLocationUpdates(提供程序、Timein毫秒、distanceinmeters、侦听器)

当我提供最短30秒的延迟来获取下一个位置更新时,我假设它应该休息30秒来请求新的位置更新。但据我观察,这并没有发生

我也尝试指定最小距离,但仍然没有达到我的预期

我想要的是在每10分钟或定期移动100米后获得位置更新。但我不想使用任何计时器线程或进行任何计算,以确保我已经移动了100米的距离

是否可以仅使用位置管理器获取此内容

任何帮助都将不胜感激

提前谢谢

当我提供最少30秒的延迟来获取下一个位置更新时,我假设它应该休息30秒来请求新的位置更新

这是一个有缺陷的假设

但据我观察,这并没有发生

对。您指定的时间段只是一个提示。指定的距离应用作过滤器

我想要的是在每10分钟或定期移动100米后获得位置更新

但我不想使用任何计时器线程或进行任何计算,以确保我已经移动了100米的距离

10分钟过后,你需要一些东西让你知道

是否可以仅使用位置管理器获取此内容


不,对不起。

你能更具体地说一下“但我观察到的,它没有发生”的意思吗?你在用map吗??你能粘贴你的照片吗code@WarrenFaith:“但是我观察到,它没有发生。”这意味着在指定的时间间隔后,我没有得到更新。相反,我得到的是持续更新。好吧,现在我清楚地意识到,我必须进行一些手动计算,才能在每100米后获得位置更新。(为了在一段时间间隔后获得位置更新,我可以使用计时器线程,对吗?)。但同时我希望尽可能节省电池电量,并且仍然希望在每100米后获得更新。实现这一点的最佳方法是什么?@AndoAiron:“现在我有了一个清晰的想法,我必须做一些手动计算,以在每100米后获得位置更新”--不,只需指定
0
的时间和
100
“的距离,为了在周期性的时间间隔后获得位置更新,我可以使用计时器线程,对吗?”--你使用了什么。什么是“某物”“这取决于你正在构建什么。”同时,我希望尽可能节省电池,并且仍然希望在每100米后获得更新。”——这是相互矛盾的目标。@AndoAiron:“实现这一目标的最佳方式是什么?”--只有一种方法可以实现此目的。使用
100
仪表过滤器和
0
毫秒过滤器注册位置更新。这将使GPS始终处于打开状态,耗尽电池电量。使用一些计时机制确保,如果在10分钟内没有收到位置信息,则可以调用
getLastKnownLocation()
。要使所有这些功能正常工作,您需要使用
WakeLock
android:keepScreenOn
,进一步耗尽电池电量。或者,重新设计您的应用程序。