[android]Geofences 不删去吗?

发布时间: 2017/3/19 19:12:31
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

我的应用程序允许人们在某些位置创建 geofences。它可以正常工作,但是,我似乎无法删除 geofences。 这里是我的移除所有 geofences 的代码。

    public void removeAllGeofences(GeofenceControllerListener listener) {
    namedGeofencesToRemove = new ArrayList<>();
    for (NamedGeofence namedGeofence : namedGeofences) {
        namedGeofencesToRemove.add(namedGeofence);
    }
    this.listener = listener;

    connectWithCallbacks(connectionRemoveListener);
}

这似乎并不工作,和 geofences 仍,除非重新启动我的电话。 任何帮助或解释,geofences 的工作会很有帮助 !

解决方法 1:

停车地点坐标监测不再需要或需要时可以帮助节省电池电源和设备上的 CPU 周期。你可以停止在主要地点坐标监测 activity 习惯了 addremove geofences; 删除一个地点坐标会立即停止。该 API 提供了方法来删除 geofences 由请求 Id,或删除与关联的 geofences 给定 PendingIntent

下面的代码段中移除由 geofences PendingIntent ,停止所有进一步 notification 当设备进入或退出以前添加 geofences:

LocationServices.GeofencingApi.removeGeofences(
mGoogleApiClient,
// This is the same pending intent that was used in addGeofences().
getGeofencePendingIntent()
).setResultCallback(this); // Result processed in onResult().
}

你可以结合地理围墙其他位置感知功能,如定期 location 更新。更多的信息,请参阅此类的其他课程。

temporary disable 地方将地点坐标参数存储在您的应用程序 (例如在 sqlite 或共享首选项),然后删除它从 GeofencingApi 和恢复 (重新启用) 时需要通过 addGeofences。

赞助商