如何确定为应用程序注册的所有地理围栏?
用 注册 GeoFences 后LocationClient.addGeofences()
,我等待onAddGeofencesResuls()
(返回 SUCCESS)并尝试以LocationClient.getTriggeringGeofences(intent)
与注册时相同的意图使用,但我只得到null
.
如何确定为应用程序注册的所有地理围栏?
用 注册 GeoFences 后LocationClient.addGeofences()
,我等待onAddGeofencesResuls()
(返回 SUCCESS)并尝试以LocationClient.getTriggeringGeofences(intent)
与注册时相同的意图使用,但我只得到null
.
我假设您正在尝试将注册的地理围栏与您在自己的数据库中保存的地理围栏进行比较。
我也尝试用我的应用程序做到这一点,但似乎 API 暗示这不是要走的路。所以我现在做的只是简单地注册地理围栏,它会自动替换我之前注册的那些。当我注册的一些火灾发生时,我应该删除它们,我会在触发 Intent 中删除它们。
另一种可能性是将所有地理围栏注册为有 24 小时的时间限制,并让代码每天至少注册一次地理围栏。
getTriggeringGeofences() 仅返回上次触发转换的地理围栏。这就是为什么如果没有发生转换,它会返回 null。请参阅文档:http: //developer.android.com/reference/com/google/android/gms/location/LocationClient.html#getTriggeringGeofences%28android.content.Intent%29