android - GeofencingRequest 上 `setInitialTrigger` 的用途是什么?

标签 android geofencing

我真的不明白 GeofencingRequest 类上的函数 setInitialTrigger

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

  1. 输入
  2. 退出
  3. 停留

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

现在,我的问题与类 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 转换的地理围栏。

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

最佳答案

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

您可以使用 3 个常量:

public static final int INITIAL_TRIGGER_DWELL

一个标志,指示地理围栏服务应在添加地理围栏时触发 GEOFENCE_TRANSITION_DWELL 通知,如果设备已在该地理围栏内一段时间。

常数值:4

public static final int INITIAL_TRIGGER_ENTER

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

常数值:1

public static final 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/

相关文章:

android - 每天在特定时间在Android中设置重复闹钟

android - 如何使用 ADB 查看受监控的地理围栏列表?

ios - 在 iOS 中,是否可以在特定时间启动基于区域的地理围栏?

javascript - 如何在天蓝色 map 中的多边形中心位置显示标签?

java - Android自定义ListView创建

java - 如何读取php代码对android java代码的响应

Android 查看用 DownloadManager 下载的图片

android - 当我有 Android 的国家/地区名称/ISO 时获取纬度/经度坐标

android - iOS 和 Android 上基于位置的操作

android - 在 Android 中进入 GeoFence 时无法显示通知