2017-10-12 73 views
2

我真的不明白GeofencingRequest类的功能setInitialTriggerGeofencingRequest上setInitialTrigger的用途是什么?

我知道,我们可以创造一些Geofence对象,不同的过渡:

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

这是对我很好的和可接受的。

现在,我的问题是相对于类GeofencingRequest,更准确地说是方法setInitialTrigger。 我真的不明白我们应该放在那里的价值...... 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应触发任何Geofence对象,其中有一个ENTER转换。

但想象一下,我有不同的行为进入或退出过渡的多Geofence。

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

回答

1

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

可以使用3个常量:

公共静态最终诠释INITIAL_TRIGGER_DWELL

表明地理界线服务应该在此刻触发GEOFENCE_TRANSITION_DWELL通知时添加了地理围栏的标志,如果该设备已一段时间内在地理围栏内。

恒值:4

公共静态最终诠释INITIAL_TRIGGER_ENTER

表明地理界线服务应该在此刻触发GEOFENCE_TRANSITION_ENTER通知时添加了地理围栏,如果设备已经地理围栏内的标志。

常数值:1

公共静态最终诠释INITIAL_TRIGGER_EXIT

指示地理围栏服务应该在此刻触发GEOFENCE_TRANSITION_EXIT通知当加入地理围栏,并且如果设备已经地理围栏外面一个标志。

常量值:2

什么是GeofencingRequest.INITIAL_TRIGGER_ENTER的含义是什么? 规定geofencing服务应该在添加地理围栏并且设备已经位于该地理围栏内时触发。

检查不同的是时间:

DWELL =已经是地理围栏的一段时间内。

ENTER =已经在该地理围栏内。

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

+0

在这种情况下,我可以将TRIGGER_ENTER和TRIGGER_EXIT放到setInitialTrigger方法中? 像''setInitialTrigger(GeofenceRequest.INITIAL_TRIGGER_ENTer | GeofenceRequest.INITIAL_TRIGGER_EXIT)'这将触发添加了入口过渡或出口的每个地理栅栏对象? – Damiii