Android GeoFenging API已在区域中时触发enter事件

Android GeoFenging API已在区域中时触发enter事件,android,android-geofence,Android,Android Geofence,我在最新的Android Geofence API中遇到了这个问题。用法与示例用法完全相同。我设置了Geofence。Geofence\u TRANSITION\u输入键入半径为500米的Geofence,过期时间为Geofence。永不过期。这是可行的,但如果我在经纬度10米处设置了地理围栏,它会立即触发 那么,我对“地理围栏”这个词的理解是否有误呢?这里的“地理围栏”\u TRANSITION\u ENTER错了,它不应该只在我们在区域外并进入它时触发,而不是在我们已经在区域内时触发吗 谢谢

我在最新的Android Geofence API中遇到了这个问题。用法与示例用法完全相同。我设置了
Geofence。Geofence\u TRANSITION\u输入
键入半径为500米的Geofence,过期时间为
Geofence。永不过期
。这是可行的,但如果我在经纬度10米处设置了地理围栏,它会立即触发

那么,我对“地理围栏”这个词的理解是否有误呢?这里的“地理围栏”\u TRANSITION\u ENTER错了,它不应该只在我们在区域外并进入它时触发,而不是在我们已经在区域内时触发吗

谢谢。

这可能会有帮助:
在演示幻灯片(链接在页面底部)中,GPS的精度约为10米。

好吧,想想3D对象的地理围栏:空间为2维,时间为1维。 在两次检查之间,如果一个土工栅栏被击中,你的新栅栏就会被移动到位


然而,我只是保存了添加围栏的时间戳,并在几秒钟内忽略所有点击。

地理围栏不会在穿越边界时触发。当您在围栏内的任何位置被检测到并且之前未发送任何进入事件时,将触发这些事件


还请注意,当地理围栏被更新(再次添加具有相同id的地理围栏)时,当您在其中时,您将获得另一个进入事件,因为它在更新时清除了地理围栏的状态。

如果我正在回答一个旧问题,很抱歉,但由于我在找到正确答案之前使用了此答案,因此我将其留在这里

GeofencingRequest.Builder包含一个方法(setInitialTrigger),可以解决这个问题


如果您设置了以下设置,则地理围栏在创建后会立即触发(如果您在围栏内)

builder.setInitialTrigger(GeofencingRequest.INITIAL_TRIGGER_ENTER);
但是,这也是默认值,因此触发器仍将发生。将触发器设置为INITIAL_trigger_DWELL(初始触发器停留)不会停止初始触发器的触发。看起来:

一个标志,指示地理围栏服务应在添加地理围栏时以及设备已在该地理围栏内一段时间时触发地理围栏(u TRANSITION)驻留通知


我的测试设备已经在同一个位置停留了一个多小时,这并没有触发地理围栏。

可能是gps信号的精度和精度:精度足够好,该点的位置距离显示为200m,因此位于500m区域内。可能这就是原因:Enter=地理围栏状态外部=>地理围栏状态内部或地理围栏状态未知=>地理围栏状态内部。添加geofence时,其状态未知。有任何解决方案吗?没有帮助,仍然无法解释为什么在我们已经在半径内的情况下添加enter type geofence时会触发它。我没有找到该行为的文档(当应用程序在区域内启动时,输入transition triggered)。但它实际上适用于我的情况,因为我想知道我第一次启动应用程序时是否在该地区。你能用breif解释一下吗?我也面临同样的问题。或者简单地使用0(零)作为参数来禁用初始触发器;-)有趣的是,0没有文档记录。不管怎样,现在已经太晚了,所以我甚至不能尝试!是的,没有记录在案。但是,由于您可以使用(EXIT | ENTER)组合例如EXIT和ENTER按位输入,并且这些标志有2^n个值(ENTER=1、EXIT=2、DWELL=4),因此从字面上讲,值0表示它们都没有;-)我验证了将0作为参数禁用的初始触发器。这种行为是合乎逻辑的,应该加以记录。在许多用例中,我们希望禁用初始触发器。我使用值0进行了测试,它似乎在Geofence对象的入口和出口行为方面运行良好。:)为什么谷歌没有解释?