地理围栏了解地理围栏的生命周期

时间:2017-06-02 08:11:00

标签: android google-play-services android-geofence location-client

我已将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(),则不会触发地理围栏。问题是单个地理围栏的默认到期时间是什么?

2 个答案:

答案 0 :(得分:0)

关于Android Geofence课程:如果没有设置过期,则无法使用Geofence创建Geofence.Builder。如果您尝试,它将抛出java.lang.IllegalArgumentException: Expiration not set.

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

答案 1 :(得分:0)

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

您有一个名为modelExit的实例变量,它指示您正在等待退出转换。而在地理围栏配置中,您仅在听GEOFENCE_TRANSITION_DWELL。您应该将转换设置为GEOFENCE_TRANSITION_EXIT