更新时间:2024-06-26 02:04:25下载pdf
业务拓展 SDK 的 设备配网 业务是基于智能生活 App SDK 做的封装和拓展。通过使用该业务 SDK,您可以大大简化配网流程,提高代码复用率和开发效率。同时,还提供了丰富的配网状态回调和错误码,以帮助您实时监控配网状态和处理异常情况。
设备配网业务提供统一的可并行的搜索服务和激活服务,支持配网能力如下:
基座提供的能力主要在 ThingActivatorCoreKit
类中,基座核心功能为 扫描附近设备 和 设备配网。
//扫描附近设备
val scanManager = ThingActivatorCoreKit.getScanDeviceManager()
//配网对应设备
val activeManager = ThingActivatorCoreKit.getActiveManager().newThingActiveManager()
还有一些其他辅助的功能可以对应 API 注释。
错误码 | 原因 |
---|---|
10002 | 参数不合法 |
DEVICE_ALREADY_BIND | 强绑定类型错误(需要当前已配网该设备的账号先解绑) |
GUEST_NOT_SUPPORT_STRONG_BIND | 游客模式强绑定类型错误 |
针对 Android 12 及以上系统版本适配:
usesPermissionFlags
为 neverForLocation
。更多详情,请参考 Android 官方文档 蓝牙权限。普通蓝牙设备无需申请定位权限,但是在扫描 iBeacon 类型广播的情况下,如果您的设备中需要使用相关功能,依然需要申请定位权限。
若您的业务不需要使用 iBeacon 类设备,则可以仅申请蓝牙相关权限。
只要加了 neverForLocation
设定,则不管您加不加定位权限,系统蓝牙广播都会过滤掉 iBeacon 类广播。
<uses-permission android:name="android.permission.BLUETOOTH_SCAN"
android:usesPermissionFlags="neverForLocation"/>
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT"/>
<uses-permission android:name="android.permission.BLUETOOTH_ADVERTISE"/>
若您的业务需要使用 iBeacon 类设备,则需要申请 Location 权限,且不能设置 neverForLocation
。
<uses-permission android:name="android.permission.BLUETOOTH_SCAN"/>
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT"/>
<uses-permission android:name="android.permission.BLUETOOTH_ADVERTISE"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
该内容对您有帮助吗?
是意见反馈该内容对您有帮助吗?
是意见反馈