我真的不了解setInitialTrigger类上的GeofencingRequest函数。

我知道我们可以创建一些带有不同过渡的Geofence对象:

  • 输入
  • 退出
  • 停留

  • 这对我来说很好并且可以接受。

    现在,我的问题是关于GeofencingRequest类,更确切地说是关于setInitialTrigger方法。
    我真的不明白我们应该赋予它的值(value)...
    关于该方法的含义,Android文档(here)并没有真正帮助。

    想象一下我有这段代码:
    private GeofencingRequest getGeofencingRequest() {
            GeofencingRequest.Builder builder = new GeofencingRequest.Builder();
            builder.setInitialTrigger(GeofencingRequest.INITIAL_TRIGGER_ENTER);
            builder.addGeofences(mGeofenceList);
            return builder.build();
        }
    
    GeofencingRequest.INITIAL_TRIGGER_ENTER是什么意思?

    对我来说,这意味着GeofencingRequest应该触发任何具有 ENTER 转换的Geofence对象。

    但是,假设我有多个具有不同行为ENTER或EXIT过渡的Geofence。

    我应该如何使用GeofencingRequest Builder处理/实现?

    最佳答案

    builder.setInitialTrigge在添加地理围栏时设置地理围栏通知行为。

    您可以使用3个常量:

    公共(public)静态最终int INITIAL_TRIGGER_DWELL

    一个标志,指示地理围栏服务应在添加地理围栏时以及设备已经在该地理围栏中一段时间​​后触发GEOFENCE_TRANSITION_DWELL通知。

    常数值:4

    公共(public)静态最终int INITIAL_TRIGGER_ENTER

    一个标志,指示地理围栏服务应在添加地理围栏时以及设备已在该地理围栏内时触发GEOFENCE_TRANSITION_ENTER通知。

    常数值:1

    公共(public)静态最终int INITIAL_TRIGGER_EXIT

    一个标志,指示地理围栏服务应在添加地理围栏时以及设备已在该地理围栏之外时触发GEOFENCE_TRANSITION_EXIT通知。

    常数值:2

    GeofencingRequest.INITIAL_TRIGGER_ENTER是什么意思?
    指示地理围栏服务应在添加地理围栏时以及设备已经在该地理围栏内时触发。

    检查的区别是时间:

    DWELL =已经在该地理围栏内存在一段时间了。

    ENTER =已在该地理围栏内。

    EXIT =已经在该地理围栏之外。

    关于android - GeofencingRequest上的 `setInitialTrigger`的用途是什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46712729/

    10-11 15:07