3

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

我尝试通过Google android developer training page中给出的培训示例使用 Geofencing API 。但是,我只有在设备进入、停留或退出时才收到通知。

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

谁能帮我弄清楚如何让它工作?

4

2 回答 2

1

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

您可以尝试指定更广泛的区域,然后检查地理坐标是否超出您想要的区域。

于 2015-08-14T06:44:39.817 回答
1

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

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

通常这是您需要做的

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

  1. 距离到
  2. distanceBetween(在此处提供您当前的纬度、经度和围栏纬度、经度)
于 2019-07-27T18:02:44.383 回答