gpt4 book ai didi

android - 来自 LocationServices 的 getTriggeringGeofences 和 getGeofenceTransition

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:31:37 26 4
gpt4 key购买 nike

我注意到 LocationClient 类目前已被弃用。我将它用于旅行应用程序。我更改了使用 LocationServices 而不是 LocationClient 的逻辑: https://developer.android.com/reference/com/google/android/gms/location/LocationServices.html

现在的问题是我无法从 LocationServices.Geofence 或 GoogleApiClient 获取 getTriggeringGeofences 和 getGeofenceTransition。我该怎么做?

这是我旧的 BroadcastReceiver 的代码:

 int transitionType = LocationClient.getGeofenceTransition(intent);
if(transitionType == Geofence.GEOFENCE_TRANSITION_EXIT) {
List<Geofence> triggerList = LocationClient.getTriggeringGeofences(intent);
for (Geofence geofence : triggerList) {
Log.i("", "geof: " + transitionType + " GPS zone " + geofence.getRequestId());
if(geofence.getRequestId().contentEquals("1")) {
Utils.appendLog("GEOFENCE: exited current position GPS Zone");
MyApp.getInstance().disableGeofence();
addLoc();
}
}
}else if (transitionType == Geofence.GEOFENCE_TRANSITION_ENTER){
List<Geofence> triggerList = LocationClient.getTriggeringGeofences(intent);
for (Geofence geofence : triggerList) {
Log.i("", "geof: " + transitionType + " GPS zone " + geofence.getRequestId());
if(geofence.getRequestId().contentEquals("2")) {
Utils.appendLog("GEOFENCE: entered destination position GPS Zone");
MyApp.getInstance().disableGeofence();
}
}
}else{
Log.e("", "Geofence transition error: " + transitionType);
}

最佳答案

GeofencingEvent geofencingEvent = GeofencingEvent.fromIntent(intent);  

然后您可以使用这些方法来检索转换和触发地理围栏:

int transition = geofencingEvent.getGeofenceTransition();
List<Geofence> geofenceList = geofencingEvent.getTriggeringGeofences();

关于android - 来自 LocationServices 的 getTriggeringGeofences 和 getGeofenceTransition,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26840236/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com