public class GeoFence
extends java.lang.Object
implements android.os.Parcelable
| 限定符和类型 | 字段和说明 |
|---|---|
static int |
ADDGEOFENCE_SUCCESS
创建地理围栏成功
Geofence created successfully |
static java.lang.String |
BUNDLE_KEY_CUSTOMID
地理围栏广播中Bundle的key-业务Id
Key for business ID in geofence broadcast Bundle |
static java.lang.String |
BUNDLE_KEY_FENCE
地理围栏广播中Bundle的key-围栏对象
Key for fence object in geofence broadcast Bundle |
static java.lang.String |
BUNDLE_KEY_FENCEID
地理围栏广播中Bundle的key-围栏Id
Key for fence ID in geofence broadcast Bundle |
static java.lang.String |
BUNDLE_KEY_FENCESTATUS
地理围栏广播中Bundle的key-围栏状态
Key for fence status in geofence broadcast Bundle |
static java.lang.String |
BUNDLE_KEY_LOCERRORCODE
地理围栏广播中Bundle的key-定位错误码
Key for location error code in geofence broadcast Bundle |
static android.os.Parcelable.Creator<GeoFence> |
CREATOR |
static int |
ERROR_CODE_EXISTS
错误码: 相同的围栏已经存在,无需重复添加
当地理围栏的customID,半径,周边点(多边形),中心点坐标(圆形)这几个属性完全一致时,则认为是相同围栏
Error code: The same fence already exists, no need to add again When the customID, radius, surrounding points (polygon), and center coordinates (circle) of a geofence are identical, they are considered the same fence |
static int |
ERROR_CODE_FAILURE_AUTH
错误码:鉴权失败
Error code: Authentication failed |
static int |
ERROR_CODE_FAILURE_CONNECTION
错误码:网络连接异常
Error code: Network connection exception |
static int |
ERROR_CODE_FAILURE_PARSER
错误码:解析数据失败(有可能是连接的需要登录的网络但是没有登录)
Error code: Failed to parse data (possibly connected to a network requiring login but not logged in) |
static int |
ERROR_CODE_INVALID_PARAMETER
错误码:参数错误
Error code: Parameter error |
static int |
ERROR_CODE_UNKNOWN
错误码:其他未知错误
Error code: Other unknown error |
static int |
ERROR_NO_VALIDFENCE
错误码:无可用地理围栏
Error code: No available geofence |
static int |
STATUS_IN
围栏状态-进入围栏
Fence status - Entered fence |
static int |
STATUS_LOCFAIL
围栏状态-定位失败(定位失败时,围栏状态无法进行检测)
Fence status - Location failed (When location fails, fence status cannot be detected) |
static int |
STATUS_OUT
围栏状态-离开围栏
Fence status - Exited fence |
static int |
STATUS_STAYED
围栏状态-在围栏内停留
Fence status - Stayed in fence |
static int |
STATUS_UNKNOWN
围栏状态-初始状态,表示从未触发过围栏
Fence status - Initial state, indicating the fence has never been triggered |
static int |
TYPE_AMAPPOI
高德POI围栏
AMAP POI fence |
static int |
TYPE_DISTRICT
高德行政区划围栏
AMAP administrative division fence |
static int |
TYPE_POLYGON
自建的多边形围栏
Self-built polygon fence |
static int |
TYPE_ROUND
自建的圆形围栏
Self-built circular fence |
| 构造器和说明 |
|---|
GeoFence()
构造方法
Constructor |
| 限定符和类型 | 方法和说明 |
|---|---|
int |
describeContents() |
boolean |
equals(java.lang.Object obj)
重写equals方法,用于ArrayList的contains判断
Override equals method for ArrayList contains check |
int |
getActivatesAction()
获取设置的地理围栏触发条件
Get set geofence trigger conditions |
DPoint |
getCenter()
获取围栏中心点坐标
Get fence center point coordinates |
AMapLocation |
getCurrentLocation()
获取当前位置,只有在围栏触发时才有值,其它情况值为null
Get current location, only has value when fence is triggered, otherwise null |
java.lang.String |
getCustomId()
获取自定义的围栏ID(添加围栏时设置)
Get custom fence ID (set when adding fence) |
java.util.List<DistrictItem> |
getDistrictItemList()
获取该围栏中的行政区划列表
只有围栏类型为:
TYPE_DISTRICT时才有值
Get administrative district list in the fence Only valid when fence type is: TYPE_DISTRICT
|
long |
getEnterTime()
获取进入围栏的系统时间(启动时间),单位:毫秒
Get system time when entering fence (start time), unit: milliseconds |
long |
getExpiration()
获取超时时间, 默认为-1(暂时不对外提供)
Get timeout, default is -1 (temporarily not available) |
java.lang.String |
getFenceId()
获取地理围栏的ID
Get the ID of the geofence |
float |
getMaxDis2Center()
获取围栏边界与中心点的点最大距离
Get maximum distance between fence boundary and center point |
float |
getMinDis2Center()
获取围栏边界与中心点的最小距离
Get minimum distance between fence boundary and center point |
android.app.PendingIntent |
getPendingIntent()
获取对应的PendingIntent对象
Get the corresponding PendingIntent object |
java.lang.String |
getPendingIntentAction()
获取对应的PendingIntent的action字符串
Get the action string of the corresponding PendingIntent |
PoiItem |
getPoiItem()
获取围栏内的兴趣点属性
只有围栏类型为:
TYPE_AMAPPOI时才有值
Get POI attributes within the fence Only valid when fence type is: TYPE_AMAPPOI
|
java.util.List<java.util.List<DPoint>> |
getPointList()
获取围栏坐标点
Get fence coordinates |
float |
getRadius()
获取地理围栏半径
当围栏类型为
TYPE_ROUND或者TYPE_AMAPPOI时,才有效
Get geofence radius Only valid when fence type is TYPE_ROUND or TYPE_AMAPPOI |
int |
getStatus()
获取围栏的状态
Get fence status |
int |
getType()
获取围栏类型
Get fence typ |
int |
hashCode() |
boolean |
isAble()
获取围栏是否可用
Get fence availability |
void |
setAble(boolean able)
设置围栏是否可用
Set fence availability |
void |
setActivatesAction(int activatesAction)
设置用户设置的地理围栏触发条件
Set user-defined geofence trigger conditions |
void |
setCenter(DPoint center)
设置围栏中心点坐标
Set fence center point coordinates |
void |
setCurrentLocation(AMapLocation loc)
设置当前位置, 触发围栏时设置
Set current location, triggered when fence is activated |
void |
setCustomId(java.lang.String customId)
设置自定义的围栏ID
Set custom fence ID |
void |
setDistrictItemList(java.util.List<DistrictItem> districtItemList)
设置行政区划
Set administrative district |
void |
setEnterTime(long enterTime)
设置进入围栏的系统时间(启动时间), 单位:毫秒
Set system time when entering fence (start time), unit: milliseconds |
void |
setExpiration(long expiration)
设置超时时间, 默认为-1(暂时不对外提供)
Set timeout, default is -1 (temporarily not available) |
void |
setFenceId(java.lang.String fenceId)
设置围栏ID
Set fence ID |
void |
setMaxDis2Center(float maxDis2Center)
设置围栏边界与中心点的最大距离
Set maximum distance between fence boundary and center point |
void |
setMinDis2Center(float minDis2Center)
设置围栏边界与中心点的中心点最小距离
Set minimum distance between fence boundary and center point |
void |
setPendingIntent(android.app.PendingIntent pendingIntent)
设置PendingIntent对象
Set PendingIntent object |
void |
setPendingIntentAction(java.lang.String pendingIntentAction)
设置对应的PendingIntent的action字符串
Set the action string of the corresponding PendingIntent |
void |
setPoiItem(PoiItem poiItem)
设置围栏内的兴趣点属性
Set POI attributes within the fence |
void |
setPointList(java.util.List<java.util.List<DPoint>> pointList)
设置围栏的坐标点
Set fence coordinates |
void |
setRadius(float radius)
设置地理围栏半径
Set geofence radius |
void |
setStatus(int status)
设置围栏的状态
Set fence status |
void |
setType(int type)
设置围栏类型
Set fence type |
void |
writeToParcel(android.os.Parcel dest,
int flags) |
public static final java.lang.String BUNDLE_KEY_FENCEID
public static final java.lang.String BUNDLE_KEY_CUSTOMID
public static final java.lang.String BUNDLE_KEY_FENCESTATUS
public static final java.lang.String BUNDLE_KEY_LOCERRORCODE
public static final java.lang.String BUNDLE_KEY_FENCE
public static final int ADDGEOFENCE_SUCCESS
public static final int ERROR_CODE_INVALID_PARAMETER
public static final int ERROR_CODE_FAILURE_CONNECTION
public static final int ERROR_CODE_FAILURE_PARSER
public static final int ERROR_CODE_FAILURE_AUTH
public static final int ERROR_CODE_UNKNOWN
public static final int ERROR_NO_VALIDFENCE
public static final int ERROR_CODE_EXISTS
当地理围栏的customID,半径,周边点(多边形),中心点坐标(圆形)这几个属性完全一致时,则认为是相同围栏
When the customID, radius, surrounding points (polygon), and center coordinates (circle) of a geofence are identical, they are considered the same fence
public static final int STATUS_IN
public static final int STATUS_OUT
public static final int STATUS_STAYED
public static final int STATUS_LOCFAIL
public static final int STATUS_UNKNOWN
public static final int TYPE_ROUND
public static final int TYPE_POLYGON
public static final int TYPE_AMAPPOI
public static final int TYPE_DISTRICT
public static final android.os.Parcelable.Creator<GeoFence> CREATOR
public java.lang.String getFenceId()
public void setFenceId(java.lang.String fenceId)
fenceId - public java.lang.String getCustomId()
public void setCustomId(java.lang.String customId)
customId - 自定义的围栏ID
public java.lang.String getPendingIntentAction()
public void setPendingIntentAction(java.lang.String pendingIntentAction)
pendingIntentAction - public android.app.PendingIntent getPendingIntent()
public void setPendingIntent(android.app.PendingIntent pendingIntent)
pendingIntent - public int getType()
目前支持的类型:
TYPE_ROUND(自建的圆形围栏)TYPE_POLYGON(自建的圆形围栏)TYPE_AMAPPOI(高德POI围栏)TYPE_DISTRICT(高德政区划围栏)Currently supported types:
TYPE_ROUND(Custom round fence)TYPE_POLYGON(Custom polygon fence)TYPE_AMAPPOI(AMAP POI fence)TYPE_DISTRICT(AMAP administrative district fence)public void setType(int type)
type - 围栏类型
目前支持的类型:
TYPE_ROUND(自建的圆形围栏)TYPE_POLYGON(自建的圆形围栏)TYPE_AMAPPOI(高德POI围栏)TYPE_DISTRICT(高德政区划围栏)Currently supported types:
TYPE_ROUND(Custom round fence)TYPE_POLYGON(Custom polygon fence)TYPE_AMAPPOI(AMAP POI fence)TYPE_DISTRICT(AMAP administrative district fence)public PoiItem getPoiItem()
只有围栏类型为:TYPE_AMAPPOI时才有值
Only valid when fence type is:TYPE_AMAPPOI
public void setPoiItem(PoiItem poiItem)
poiItem - public java.util.List<DistrictItem> getDistrictItemList()
只有围栏类型为:TYPE_DISTRICT时才有值
Only valid when fence type is:TYPE_DISTRICT
public void setDistrictItemList(java.util.List<DistrictItem> districtItemList)
districtItemList - public java.util.List<java.util.List<DPoint>> getPointList()
TYPE_ROUND或者
TYPE_AMAPPOI时, 坐标点只有一个,即围栏的中心点TYPE_POLYGON或者
TYPE_DISTRICT时,坐标点是多个,即围栏的边线点
TYPE_ROUND or
TYPE_AMAPPOI, there is only one coordinate point, which is the center of the fenceTYPE_POLYGON or
TYPE_DISTRICT, there are multiple coordinate points, which are the boundary points of the fencepublic void setPointList(java.util.List<java.util.List<DPoint>> pointList)
pointList - 围栏坐标点
TYPE_ROUND或者
TYPE_AMAPPOI时, 坐标点只有一个,即围栏的中心点TYPE_POLYGON或者
TYPE_DISTRICT时,坐标点是多个,即围栏的边线点
TYPE_ROUND or
TYPE_AMAPPOI, there is only one coordinate point, which is the center of the fenceTYPE_POLYGON or
TYPE_DISTRICT, there are multiple coordinate points, which are the boundary points of the fencepublic float getRadius()
TYPE_ROUND或者TYPE_AMAPPOI时,才有效
TYPE_ROUND or TYPE_AMAPPOIpublic void setRadius(float radius)
radius - public long getExpiration()
public void setExpiration(long expiration)
expiration - public int getActivatesAction()
GeoFenceClient#setActivateAction(int)
GeoFenceClientsetActivatesAction}
public void setActivatesAction(int activatesAction)
activatesAction - public int getStatus()
目前的状态有:
STATUS_IN 进入围栏STATUS_OUT 离开围栏STATUS_STAYED 停留在围栏内Current statuses:
STATUS_IN Enter fenceSTATUS_OUT Exit fenceSTATUS_STAYED Stay inside fencepublic void setStatus(int status)
status - 围栏的状态
目前的状态有:
STATUS_IN 进入围栏STATUS_OUT 离开围栏STATUS_STAYED 在围栏内停留10分钟以上Current statuses:
STATUS_IN Enter fenceSTATUS_OUT Exit fenceSTATUS_STAYED Stay inside fence for over 10 minutespublic long getEnterTime()
public void setEnterTime(long enterTime)
enterTime - 最后进入围栏的系统时间(启动时间),离开设置为-1;
public DPoint getCenter()
public void setCenter(DPoint center)
public float getMinDis2Center()
public void setMinDis2Center(float minDis2Center)
public float getMaxDis2Center()
public void setMaxDis2Center(float maxDis2Center)
public boolean isAble()
public void setAble(boolean able)
able - true:可用;false:不可用
public void setCurrentLocation(AMapLocation loc)
loc - public AMapLocation getCurrentLocation()
public boolean equals(java.lang.Object obj)
equals 在类中 java.lang.Objectpublic int hashCode()
hashCode 在类中 java.lang.Objectpublic int describeContents()
describeContents 在接口中 android.os.Parcelablepublic void writeToParcel(android.os.Parcel dest,
int flags)
writeToParcel 在接口中 android.os.Parcelable