更新时间:2023-11-10 07:53:01下载pdf
复合扫描目前支持 Wi-Fi 快连(EZ)、免密、闪电、有线网关、子设备、网关路由器、蓝牙、Matter 八种配网设备扫描方式,方便您直接使用一个或多个复合扫描能力。
class ThingActivatorScanDeviceBean(
/**
* uniqueId
*/
val uniqueId: String = "",
/**
* device name
*/
var name: String? = "",
/**
* device iconurl
*/
var icon: String? = "",
/**
* What scanning capabilities are used to scan
*/
var scanDeviceTypeList: MutableList<ThingActivatorScanType> = mutableListOf(),
/**
* What ThingDeviceActiveModeEnum
*/
var supprotActivatorTypeList: MutableList<ThingDeviceActiveModeEnum> = mutableListOf(),
/**
* Pid
*/
var pid: String? = "",
var deviceType: MatterDeviceTypeEnum? = null
) : Serializable
public enum ThingActivatorScanType {
/**
* Wi-Fi 快连
*/
EZ,
/**
* 免密
*/
FREE_PWD,
/**
* Pegasus 闪电配网
*/
LIGHTNING,
/**
* Wired
*/
LOCAL_GATEWAY,
/**
* 子设备配网
*/
SUB,
/**
* Router
*/
GW_ROUTER,
/**
* Bluetooth
*/
BLUETOOTH,
/**
* Matter
*/
MATTER
}
不同的配网方式在参数上,以及实现上,都存在差异。为了减少理解与使用成本,涂鸦将所有扫描方式封装为统一的参数类 ThingActivatorScanBuilder
。
Wi-Fi 快连、免密、网关路由器、子设备其实无扫描过程,扫描表示能力的配网。如果您有包含对应能力在内的多种设备并行搜索展示的功能,可以使用,和使用对应能力的配网功能一致。
通用参数
必传参数 | 说明 |
---|---|
millisTimeout | 超时时长,单位为毫秒(ms),最短超时时长为:120s |
蓝牙扫描
所需条件为定位权限和蓝牙权限(Android12 及以上为蓝牙扫描权限)。
必传参数 | 说明 |
---|---|
blueToothScanTypeList | 蓝牙扫描支持类型,具体支持的扫描类型参考 蓝牙扫描 ScanType 类型。 |
Wi-Fi 快连扫描
必传参数 | 说明 |
---|---|
ssid | Wi-Fi 名称 |
pwd | Wi-Fi 密码 |
token | 鉴权标识 |
context | 上下文 |
免密扫描
必传参数 | 说明 |
---|---|
freePwdIdList | 支持免密设备 ID 列表 |
token | 鉴权标识 |
context | 上下文 |
网关路由器扫描
必传参数 | 说明 |
---|---|
gwRouterIdList | 支持网关路由器设备 ID 列表 |
token | 鉴权标识 |
context | 上下文 |
子设备扫描
必传参数 | 说明 |
---|---|
gwId | 网关 ID |
闪电扫描
必传参数 | 说明 |
---|---|
lightningIdList | 支持闪电设备 ID 列表 |
有线网关扫描和 Matter 设备扫描
无需特殊参数。
val activatorScanKey = ThingActivatorCoreKit.getScanDeviceManager().startScan(
ThingActivatorScanBuilder(), object : ThingActivatorScanCallback {
override fun deviceFound(deviceBean: ThingActivatorScanDeviceBean) {
//Scan to device
}
override fun deviceRepeat(deviceBean: ThingActivatorScanDeviceBean) {
//Repeat scan to device
}
override fun deviceUpdate(deviceBean: ThingActivatorScanDeviceBean) {
//The device has been scanned before, and the capabilities are updated.
}
override fun scanFailure(failureBean: ThingActivatorScanFailureBean) {
//Scan failure
}
override fun scanFinish() {
//Scan finish
}
}
)
//Stop all scanning functions
ThingActivatorCoreKit.getScanDeviceManager().stopScan(activatorScanKey)
// Stop some scanning functions
ThingActivatorCoreKit.getScanDeviceManager().stopPartScan(activatorScanKey,ThingActivatorScanType.xxx)
错误码 | 说明 |
---|---|
10002 | 对应搜索能力参数不对 |
1006 | 搜索超时 |
该内容对您有帮助吗?
是意见反馈该内容对您有帮助吗?
是意见反馈