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

Android:当用户在特定位置输入时获取通知

Android:当用户在特定位置输入时获取通知,android,gps,location,Android,Gps,Location,我正在开发android应用程序,当用户进入特定位置时,该应用程序会发出通知 用户可以使用经纬度(即谷歌地图)指定位置 我知道如何获取纬度和经度,但我的问题是,当用户在特定位置输入时,它将与以前指定的纬度和经度不完全匹配。 如图所示,假设用户在进入该区域(约20米)时指定一个名为“我的位置”,则应用程序应向用户发送通知。 我想知道如何比较用户指定的纬度和经度(我的位置)和应用程序通过GPS获取的当前纬度和经度。 这样做的比较,它将是真实的,如果用户附近的我的地方在20米的面积。 (这20米是近

我正在开发android应用程序,当用户进入特定位置时,该应用程序会发出通知
用户可以使用经纬度(即谷歌地图)指定位置
我知道如何获取纬度和经度,但我的问题是,当用户在特定位置输入时,它将与以前指定的纬度和经度不完全匹配。

如图所示,假设用户在进入该区域(约20米)时指定一个名为“我的位置”,则应用程序应向用户发送通知。
我想知道如何比较用户指定的纬度和经度(我的位置)和应用程序通过GPS获取的当前纬度和经度。 这样做的比较,它将是真实的,如果用户附近的我的地方在20米的面积。 (这20米是近似值。) 我可以在android中设置精度,例如20米。

谢谢。

请查看LocationManager.addProximityAlert函数。它几乎完全符合你的要求。警告,它确实使用了大量电池。

解决此问题的最佳方法是使用GeoFences功能。有关更多详细信息,请参阅

大纲: -应用程序在底层操作系统中注册-这里是我希望您监视的地理围栏列表(特定位置+距离该位置的半径)。 -如果我的用户进入这个地理围栏-唤醒我并告诉我。 -此时,您可以继续执行任何步骤(致电服务器,询问需要向用户显示哪些信息),或者只发送推送通知(应用程序内通知)来完成必要的工作


希望这有帮助。

您可以使用空间距离功能进行gps池计算

Bluedotinnovation的PointSDK(android和ios)具有更高的准确性和更少的电池消耗,也类似于Radar的免费sdk

雷达地理围栏比本机iOS或Android地理围栏功能更强大,跨平台支持无限地理围栏、多边形地理围栏、停止检测,精确度可达30米


此外,它们还具有反应式支持。

是否有需要更少电池电量的更好解决方案?谢谢……不太好。基本上,你需要做它所做的事情-每次gps位置更新时检查,并通过检查你的位置和目标之间的距离来查看你是否在范围内。使用电源是因为在执行此操作时需要GPS持续打开。只需确保在不需要时删除警报。因此,您的意思是,除了使用addProximityAlert()之外,我应该使用lat.和lon来检查距离。具体位置和当前位置。我做对了吗?