繁体   English   中英

Android Geofencing:仅在外部地理围栏时触发

[英]Android Geofencing: Trigger only while outside geofence

我正在制作一个地理围栏应用程序,它必须在设备超出地理围栏时不断触发通知,而不仅仅是在退出时。

我已经尝试通过Google android开发人员培训页面中提供的培训示例使用Geofencing API。 但是,只有在设备进入,停留或退出时才会收到通知。

根据我迄今为止在SO和Google中所研究的内容,Geofencing API中只处理了三种类型的转换:Enter,Dwell和Exit。 并且通知仅在设备进入地理围栏时开始,直到它退出。

任何人都可以帮助我如何让它工作?

那是不可能的。 在地理围栏区域之外没有任何意义。 这不是地理围栏的用例。

您可以尝试指定更广泛的区域范围,然后检查地理坐标,如果它位于您想要的区域之外。

当你在围栏外时,你想要自己的自定义退出触发器。 您可以通过测量当前位置( FusedLocationProvider )和围栏位置(纬度,长度)之间的距离 (纬度,长度)来编写自定义动作。

您可以使用Android Location API中提供的以下方法来衡量差异并生成自定义触发器,以指示您不在围栏中。

通常这是您需要做的

if [(位置差异)>(地理围栏的半径)] - >自定义栅栏动作退出

  1. distanceTo
  2. distanceBetween (提供你当前的lat,long和你的fence lat,这里很长)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM