Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/200.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_Gps - Fatal编程技术网

Android 根据位置执行操作

Android 根据位置执行操作,android,geolocation,gps,Android,Geolocation,Gps,我正在创建一个应用程序,当我在某个位置的某个半径内时,我需要执行一个操作。但是我不想连续地轮询这个位置,因为那样会耗尽电池 我考虑为用户设置一个选项,指定查询位置的频率。但是,我担心如果用户设置的时间太长,那么我的应用程序将无法在位置附近执行操作 我在一次Google IO会话中发现,Pay With Square有一个自动标签功能,我不确定他们是否一直在轮询位置,是否设置了查询位置之间的延迟,或者第三个选项,该选项在不耗尽电池的情况下是有效的 我想征求关于如何处理这一问题的建议。 提前感谢。看

我正在创建一个应用程序,当我在某个位置的某个半径内时,我需要执行一个操作。但是我不想连续地轮询这个位置,因为那样会耗尽电池

我考虑为用户设置一个选项,指定查询位置的频率。但是,我担心如果用户设置的时间太长,那么我的应用程序将无法在位置附近执行操作

我在一次Google IO会话中发现,Pay With Square有一个自动标签功能,我不确定他们是否一直在轮询位置,是否设置了查询位置之间的延迟,或者第三个选项,该选项在不耗尽电池的情况下是有效的

我想征求关于如何处理这一问题的建议。
提前感谢。

看起来您的问题实际上是:“如何在节省设备电池的同时获得准确的位置测量?”

主要有两种方法可以节省电池并具有良好的定位:

  • 不要使用GPS(这是一个真正的电池猪)
  • 设置轮询操作之间的较大间隔
  • 仅使用wi-fi和手机数据,您就可以获得相当好的定位(半径从40米到150米,在许多情况下都比GPS好)。只需在代码中选择“精度粗略”、“精度低”和/或“功率低”作为提供者选择标准

    请参见谷歌开发者网站上的以下链接:

    特别是这两个:

    您可以根据测量的用户速度选择/设置节电轮询间隔。如果用户正在行走(低于5公里/小时),您可以使用30-60秒的间隔,而不会错过您的警报。如果用户驾车旅行(超过50公里/小时),则必须设置1-10秒的间隔。考虑到位置空间精度通常很差(100米左右),所以尝试以非常高的时间(速度)精度“点”这个点几乎没有意义。

    也可以看看谷歌的文档


    在任何情况下,Google都明确建议不要尝试使用自己的代码来节省电池,并依赖getProviders标准来实现这一点。

    如果我理解得很好,当设备的位置在某个位置的预定义半径内时,您希望触发某个事件。如果这是一个问题,你有所谓的接近警报,这是自动机制。所以只要谷歌一下,或者试试这个。我没有读过,但乍一看它对我来说很好

    这个答案可能就是你想要的:我现在的问题是,如果我想要的全部答案中有多个答案,我可以选择多个被接受的答案吗?谢谢。这绝对是有益的。虽然它并不完全适用于我想要实现的目标,但其中仍然有可用的信息。再次感谢,谢谢。我想这个加上另一个答案会给我足够的信息。