消息列表

更新时间:2024-03-04 08:53:12

创建消息管理器

创建消息管理器(IThingCameraMessage)的实体对象。

接口说明

IThingCameraMessage createCameraMessage();

示例代码

private IThingCameraMessage mTyCameraMessage;

IThingIPCMsg message = ThingIPCSdk.getMessage();
if (message != null) {
    cameraMessage = message.createCameraMessage();
}

查询消息日历

可以通过 IPC SDK 查询到某年某月有报警消息的日期,以便于在日历上直观展示。

接口说明

void queryMotionDaysByMonth(String devId, int year, int month, String timeZoneId, IThingResultCallback<List<String>> callback);

参数说明

参数 说明
devId 设备 ID
year 有报警消息的年
month 有报警消息的月
timeZoneId 时区 ID,一般取设备时区
callback 回调方法

示例代码

mTyCameraMessage.queryMotionDaysByMonth(mDeviceBean.getDevId(), year, month,TimeZone.getDefault().getID(), new IThingResultCallback<List<String>>() {
    @Override
    public void onSuccess(List<String> result) {

    }

    @Override
    public void onError(String errorCode, String errorMessage) {

    }
});

查询消息类型

根据触发方式,侦测报警消息定义有多种类型。部分类型又可以划分为一个大的分类。IPC SDK 提供获取默认分类的消息列表,以便于分类查询报警消息。

接口说明

void queryAlarmDetectionClassify(String devId, IThingResultCallback<List<CameraMessageClassifyBean>> callback);

参数说明

参数 说明
devId 设备 ID
callback 回调方法

示例代码

mTyCameraMessage.queryAlarmDetectionClassify(devId, new IThingResultCallback<List<CameraMessageClassifyBean>>() {
    @Override
    public void onSuccess(List<CameraMessageClassifyBean> result) {

    }

    @Override
    public void onError(String errorCode, String errorMessage) {

    }
});

CameraMessageClassifyBean 数据模型

参数 说明
describe 消息描述。
msgCode 消息类型数组,消息类型表示报警消息的触发形式,体现为报警消息数据模型的 msgCode 属性。

msgCode 说明

类型 说明
ipc_motion 移动侦测
ipc_doorbell 门铃呼叫
ipc_dev_link 设备联动
ipc_passby 有人经过
ipc_linger 有人徘徊
ipc_leave_msg 门铃消息留言
ipc_connected 门铃已接听
ipc_unconnected 门铃未接听
ipc_refuse 门铃拒接
ipc_human 人形检测
ipc_cat 宠物检测
ipc_car 车辆检测
ipc_baby_cry 婴儿哭声
ipc_bang 异响
ipc_antibreak 强拆报警
ipc_low_battery 低电量告警

由于设备能力的不同,能触发的消息类型会有差别。消息分类和消息类型不同:

  • 消息类型表示报警消息的触发方式。
  • 消息分类是将一个或多个类型的消息组合成一个大类,比如 ipc_passbyipc_lingeripc_motion 可以组合成一个分类为移动侦测。

查询侦测报警消息

接口说明

void getAlarmDetectionMessageList(String devId, int startTime, int endTime, String[] msgCodes, int offset, int limit, IThingResultCallback<List<CameraMessageBean>> callback);

参数说明

参数 说明
devId 设备 ID
startTime 起始时间戳,单位为秒
endTime 结束时间戳,单位为秒
msgCodes 消息类型数组
  • 如果不传,默认请求所有类型的数据
  • 如果传了,则请求对应类型的消息数据,消息数组请查看 消息类型接口
offset 请求的偏移量,用来做分页
limit 请求的数量

如果要查询某一天的全部消息数据,可以将起始时间和结束时间间隔一天的时间戳即可。

示例代码

mTyCameraMessage.getAlarmDetectionMessageList(devId, startTime, endTime, selectClassify.getMsgCode(), 0, 30, new IThingResultCallback<List<CameraMessageBean>>() {
    @Override
    public void onSuccess(List<CameraMessageBean> result) {

    }

    @Override
    public void onError(String errorCode, String errorMessage) {

    }
});

CameraMessageBean 数据模型

参数 说明
dateTime 发生日期
time 发生事件的时间戳
attachPics 消息事件的图片,数组格式,取第一个数据
attachVideos 消息事件的视频数据,数组格式,取第一个数据
id 事件 ID
msgSrcId 消息 ID

批量删除报警消息

接口说明

void deleteMotionMessageList(List<String> ids, IThingResultCallback<Boolean> callback);

参数说明

参数 说明
ids 删除消息的 ID 列表

示例代码

cameraMessage.deleteMotionMessageList(ids, new IThingResultCallback<Boolean>() {
    @Override
    public void onSuccess(Boolean result) {

    }

    @Override
    public void onError(String errorCode, String errorMessage) {

    }
});

销毁或退出

接口说明

void destroy();

示例代码

if (null != mTyCameraMessage) {
        mTyCameraMessage.destroy();
        }