地理围栏触发程序的解释需要?地理围栏触发程序的解释需要?(Geofence triggering p

2019-05-12 13:56发布

所以我建立的地理围栏如下:

    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这个时候。 所以基本上我想知道的是,存储在哪里的geonfences。 在情况下,它们存储的应用程序的内存,那么为什么“删除片段”清除地理围栏外面?

Answer 1:

我认为这是如预期运行。 即去的项目重新运行会考虑将应用程序作为全新安装。 正如文件中指出- 采用最佳做法的区域范围设定 :

该应用程序必须重新注册地理围栏,如果他们出现下列情况之后仍然需要,因为系统无法在下列情况下恢复地理围栏:

  • 该装置被重新启动。 该应用程序应该监听设备的启动完成动作,然后重新注册所需的地理围栏。
  • 该应用程序卸载并重新安装。
  • 应用程序的数据将被清除。
  • 谷歌Play服务数据将被清除。
  • 该应用程序已经收到了GEOFENCE_NOT_AVAILABLE警报。 这种情况通常发生后NLP(Android的网络位置提供商)将被禁用。

希望这可以帮助。



文章来源: Geofence triggering procedure explanation needed?