接口描述
HDLCommand.getHomeDevices()
调用该接口,会清空原本地设备列表数据,重新搜索设备(可以搜索出支持简易编程搜索的设备)。
代码范例
发送搜索设备请求java /**全部重新搜索,清空原设备列表数据*/ HDLCommand.getHomeDevices();
搜索设备回调事件
搜索超时或搜索成功,都会收到DevicesInfoEvent订阅事件。
搜索成功后,会返回搜到到的所有模块设备数据,通过event.getDesDataList()取出,后面的所有的控制设备操作都需要用到这个List里面的AppliancesInfo设备参数,SDK做了本地保存操作,同样开发者可以根据需要自己另外保存。
/**
* ====================EventBus 订阅事件 ====================
*/
@Subscribe(threadMode = ThreadMode.MAIN)
public void onDevicesInfoEventMain(DevicesInfoEvent event) {
mAllDevicesList.clear();
mProgressDialog.dismiss();
if (!event.isSuccess()) {
Toast.makeText(MainActivity.this, "搜索超时,请重新再试", Toast.LENGTH_SHORT).show();
tvResult.setText("搜索超时,请重新再试");
return;
}
mDevicesDataList = event.getDesDataList();
updateDeviceListView();
}
接口描述
HDLDeviceManager.addSecurityDevicesManually(int mSubnetID, int mDeviceID, int mChannelNum, String mRemarks)
调用该接口,可以手动添加安防模块(不支持简易编程搜索的设备,只能手动添加)。
需要传入该安防模块当前的子网号,设备号,回路号,以及它的备注名。
代码范例
.......
//isSuccess 返回true则代表添加成功
isSuccess = HDLDeviceManager.addSecurityDevicesManually(subnetID, deviceID, channelNum, "安防模块1");
.......
添加成功后同样会收到DevicesInfoEvent订阅事件,更新返回当前所有的设备列表数据
代码范例
/**
* ====================EventBus 订阅事件 ====================
*/
@Subscribe(threadMode = ThreadMode.MAIN)
public void onDevicesInfoEventMain(DevicesInfoEvent event) {
mAllDevicesList.clear();
mProgressDialog.dismiss();
if (!event.isSuccess()) {
Toast.makeText(MainActivity.this, "搜索超时,请重新再试", Toast.LENGTH_SHORT).show();
tvResult.setText("搜索超时,请重新再试");
return;
}
mDevicesDataList = event.getDesDataList();
updateDeviceListView();
}
接口描述
HDLDeviceManager.addAudioDevicesManually(int mSubnetID, int mDeviceID, int mChannelNum, String mRemarks)
调用该接口,可以手动添加安防模块(不支持简易编程搜索的设备,只能手动添加)。
需要传入该安防模块当前的子网号,设备号,回路号,以及它的备注名。
代码范例
.......
//isSuccess 返回true则代表添加成功
isSuccess = HDLDeviceManager.addAudioDevicesManually(subnetID, deviceID, channelNum, "音乐模块1");
.......
添加成功后同样会收到DevicesInfoEvent订阅事件,更新返回当前所有的设备列表数据
代码范例
/**
* ====================EventBus 订阅事件 ====================
*/
@Subscribe(threadMode = ThreadMode.MAIN)
public void onDevicesInfoEventMain(DevicesInfoEvent event) {
mAllDevicesList.clear();
mProgressDialog.dismiss();
if (!event.isSuccess()) {
Toast.makeText(MainActivity.this, "搜索超时,请重新再试", Toast.LENGTH_SHORT).show();
tvResult.setText("搜索超时,请重新再试");
return;
}
mDevicesDataList = event.getDesDataList();
updateDeviceListView();
}
接口描述
HDLDeviceManager.getLocalDevicesDataList()
调用该接口,会读取加载SDK本地保存的设备列表数据。
代码范例
/**
* 读取和加载本地数据
*/
private void getLocalDevicesDataList() {
mDevicesDataList = HDLDeviceManager.getLocalDevicesDataList();//加载本地数据
if (mDevicesDataList.size() > 0) {
updateDeviceListView();
} else {
showToast("本地数据为空");
}
}