IGeofenceInterface

概述

定义对地理围栏模块进行基本操作的接口。

接口包含注册回调函数,取消注册回调函数,添加圆形和多边形地理围栏,删除地理围栏,获取地理围栏状态信息,获取设备地理位置,下发基站离线数据库。

Since:

4.0

Since:

4.0

相关模块:

HdiLpfenceGeofence

汇总

Public 成员函数

名称 描述
RegisterGeofenceCallback ([in] IGeofenceCallback callbackObj) 注册回调函数。
UnregisterGeofenceCallback ([in] IGeofenceCallback callbackObj) 取消注册回调函数。
AddCircleGeofences ([in] struct GeofenceCircleRequest[] circleGeofences) 添加圆形地理围栏。
AddPolygonGeofences ([in] struct GeofencePolygonRequest[] polygonGeofences) 添加多边形地理围栏。
RemoveGeofences ([in] int[] geofenceId) 删除地理围栏。
GetGeofenceStatus ([in] int geofenceId) 获取当前设备与一个地理围栏的状态关系。
GetGeofenceLocation () 获取最新的位置信息。
GetGeofenceSize () 获取地理围栏使用信息。
SendCellOfflineDb ([in] struct OfflineDb dbData, [in] int cellType) 下发基站离线数据库数据。

成员函数说明

AddCircleGeofences()

IGeofenceInterface::AddCircleGeofences ([in] struct GeofenceCircleRequest[] circleGeofences)

描述:

添加圆形地理围栏。

支持一次添加多个圆形地理围栏

参数:

名称 描述
circleGeofences 添加圆形围栏信息。详见GeofenceCircleRequest

返回:

如果添加成功,则返回0。

如果添加失败,则返回负值。

AddPolygonGeofences()

IGeofenceInterface::AddPolygonGeofences ([in] struct GeofencePolygonRequest[] polygonGeofences)

描述:

添加多边形地理围栏。

支持一次添加多个多边形地理围栏

参数:

名称 描述
polygonGeofences 添加多边形围栏信息。详见GeofencePolygonRequest

返回:

如果添加成功,则返回0。

如果添加失败,则返回负值。

GetGeofenceLocation()

IGeofenceInterface::GetGeofenceLocation ()

描述:

获取最新的位置信息。

位置信息通过回调函数上报。详见OnGetCurrentLocation定义。

返回:

如果调用成功,则返回0。

如果调用失败,则返回负值。

GetGeofenceSize()

IGeofenceInterface::GetGeofenceSize ()

描述:

获取地理围栏使用信息。

查看当前设备支持添加的地理围栏最大个数和已添加的地理围栏个数。通过回调函数上报通知,详见OnGetGeofenceSizeCb

返回:

如果调用成功,则返回0。

如果调用失败,则返回负值。

GetGeofenceStatus()

IGeofenceInterface::GetGeofenceStatus ([in] int geofenceId)

描述:

获取当前设备与一个地理围栏的状态关系。

设备与地理围栏的状态关系详见GeofenceTransition定义。

参数:

名称 描述
geofenceId 地理围栏id号。

返回:

返回位置关系。详见GeofenceTransition定义。

如果调用失败,则返回负值。

RegisterGeofenceCallback()

IGeofenceInterface::RegisterGeofenceCallback ([in] IGeofenceCallback callbackObj)

描述:

注册回调函数。

用户在开启地理围栏功能前,需要先注册该回调函数。当地理围栏状态发生变化时,会通过回调函数进行上报。

参数:

名称 描述
callbackObj 要注册的回调函数,只需成功订阅一次,无需重复订阅。详见IGeofenceCallback

返回:

如果注册回调函数成功,则返回0。

如果注册回调函数失败,则返回负值。

RemoveGeofences()

IGeofenceInterface::RemoveGeofences ([in] int[] geofenceId)

描述:

删除地理围栏。

支持一次删除多个地理围栏。

参数:

名称 描述
geofenceId 地理围栏id号。详见GeofenceCircleRequestGeofencePolygonRequest

返回:

如果删除成功,则返回0。

如果删除失败,则返回负值。

SendCellOfflineDb()

IGeofenceInterface::SendCellOfflineDb ([in] struct OfflineDb dbData, [in] int cellType )

描述:

下发基站离线数据库数据。

若请求离线数据库数据成功,则上层服务通过该接口将数据下发。

参数:

名称 描述
dbData 基站离线数据库数据。详见OfflineDb定义。
cellType 基站主区的移动通信技术代。详见GeofenceCellType定义。

返回:

如果调用成功,则返回0。

如果调用失败,则返回负值。

UnregisterGeofenceCallback()

IGeofenceInterface::UnregisterGeofenceCallback ([in] IGeofenceCallback callbackObj)

描述:

取消注册回调函数。

取消之前注册的回调函数。当不需要使用地理围栏功能,或需要更换回调函数时,需要取消注册回调函数。

参数:

名称 描述
callbackObj 要取消注册的回调函数,只需成功取消订阅一次,无需重复取消订阅。详见IGeofenceCallback

返回:

如果取消注册回调函数成功,则返回0。

如果取消注册回调函数失败,则返回负值。