0

我已将 Geofence 构建为:

    GeofenceModel modelExit = new GeofenceModel.Builder("id_oi_456")
                .setTransition(Geofence.GEOFENCE_TRANSITION_DWELL)
                .setExpiration(Geofence.NEVER_EXPIRE)
                .setLatitude(40.414341)
                .setLongitude(49.928548)
                .setRadius(CLIENT_GEOFENCE_RADIUS)
                .build();


    SmartLocation.with(this).geofencing()
                .add(modelExit)
                .start(this);

当设置为 NEVER_EXPIRE 时,它会被触发。如果未设置 setExpiration(),则不会触发地理围栏。问题是单个地理围栏的默认到期时间是多少?

4

2 回答 2

0

假设您在 GeofenceModel 类下使用 com.google.android.gms.location.Geofence。

您有一个名为的实例变量modelExit表示您正在等待退出转换。在您的地理围栏配置中,您只是在听GEOFENCE_TRANSITION_DWELL. 您应该将过渡设置为GEOFENCE_TRANSITION_EXIT.

于 2018-11-06T11:15:29.237 回答
0

关于 Android 的类:如果不设置过期Geofence时间,就无法创建Geofenceusing 。Geofence.Builder如果你尝试,它会抛出java.lang.IllegalArgumentException: Expiration not set.

至于你的GeofenceModel课,我不确定。

于 2017-08-18T05:47:27.800 回答