1## GattManager测试使用说明文档 2 3 本文档主要介绍蓝牙专项测试程序的Gatt部分(ohos.bluetoothManager.d.ts)的功能使用说明。 4 5### 从主界面跳转到Gatt蓝牙部分 6 7Gatt测试分为Client测试和Server测试 8 9### Gatt客户端 10 11选择GattClient测试,进行Gatt客户端的测试 12 13#### GattClientSetting界面 14 15点击"switch"图标,可以在setting界面修改MAC地址, ServerUUID, characteristicUuid, descriptorUuid的值。已经设置了默认值。 16 17>Gatt_ClientSetting中参数有: 18> 19> 外围设备MAC 20> 21> 服务UUID 22> 23> 特征值UUID,特征值Value 24> 25> 描述符UUID,描述符Value 26 27#### GattClient的主要接口(ohos.bluetoothManager.d.ts) 28 29| method名称 | API名称 | 所需参数 | 返回值 | 备注 | 30| :----------------------------------: | :-------------------------------: | :----------------------------------------------------------: | :-------------------------: | :--: | 31| 创建GattClient | createGattClientDevice | (deviceId: string) | GattClientDevice | | 32| 连接 | connect | () | void | | 33| 取消连接 | disconnect | () | void | | 34| 订阅蓝牙低功耗设备的连接状态变化 | on.BLEConnectionStatecChange | (type: "BLEConnectionStateChange", callback: Callback<BLEConnectChangedState>) | void | | 35| 取消订阅蓝牙低功耗设备的连接状态变化 | off.BLEConnectionStateChange | (type: “BLEConnectionStateChange”, callback?: Callback<BLEConnectChangedState>) | void | | 36| 关闭 | close | () | void | | 37| 获取服务callback | getServices(callback) | (callback: AsyncCallback<Array<GattService>>) | void | | 38| 获取服务promise | getServices(pomise) | () | Promise<Array<GattService>> | | 39| 读取特征值callback | readCharacteristicValue(callback) | (characteristic: BLECharacteristic, callback: AsyncCallback<BLECharacteristic>) | void | | 40| 读取特征值promise | readCharacteristicValue(pomise) | (characteristic: BLECharacteristic) | Promise<BLECharacteristic> | | 41| 读取描述符值callback | readDescripitorValue(callback) | (descriptor: BLEDescriptor, callback: AsyncCallback<BLEDescriptor>) | void | | 42| 读取描述符值promise | readDescripitorValue(promise) | (descriptor: BLEDescriptor) | Promise<BLEDescriptor> | | 43| 写入特征值 | writeCharacteristicValue | (characteristic: BLECharacteristic) | void | | 44| 写入描述符值 | writeDescripitorValue | (descriptor: BLEDescriptor) | void | | 45| BLE特征值变化 | on.BLECharacteristicChange | (type: "BLECharacteristicChange", callback: Callback<BLECharacteristic>) | void | | 46| 设定BLEMtu尺寸 | setBLEMtuSize | (mtu: number) | void | | 47| 设置通知特性更改 | setNotifyCharateristicChanged | (characteristic: BLECharacteristic, enable: boolean) | void | | 48| 获取设备名称callback | getDeviceName(callback) | (callback: AsyncCallback<string>) | void | | 49| 获取设备名称promise | getDeviceName(promise) | () | Promise<string> | | 50| 获取Rssi值callback | getRssiValue(callback) | (callback: AsyncCallback<number>) | void | | 51| 获取Rssi值promise | getRssiValue(promise) | () | Promise<number> | | 52 53>**接口所需的参数配置:** 54> 55>#### BLEConnectChangedState 描述Gatt profile连接状态 56> 57>| 名称 | 类型 | 可读 | 可写 | 说明 | 58>| :------- | :------------------------- | :--- | :--- | :-------------------------------------------- | 59>| deviceId | string | 是 | 否 | 表示远端设备地址,例如:“XX:XX:XX:XX:XX:XX”。 | 60>| state | **ProfileConnectionState** | 是 | 是 | 表示BLE连接状态的枚举。 | 61> 62> 63> 64>#### ProfileConnectionState 枚举,蓝牙设备的profile连接状态 65> 66>| 名称 | 值 | 说明 | 67>| :------------------ | :--- | :-------------------- | 68>| STATE_DISCONNECTED | 0 | 表示profile已断连。 | 69>| STATE_CONNECTING | 1 | 表示profile正在连接。 | 70>| STATE_CONNECTED | 2 | 表示profile已连接。 | 71>| STATE_DISCONNECTING | 3 | 表示profile正在断连。 | 72> 73> 74> 75>#### GattService 描述service的接口参数定义 76> 77>| 名称 | 类型 | 可读 | 可写 | 说明 | 78>| :-------------- | :--------------------------- | :--- | :--- | :----------------------------------------------------------- | 79>| serviceUuid | string | 是 | 是 | 特定服务(service)的UUID,例如:00001888-0000-1000-8000-00805f9b34fb。 | 80>| isPrimary | boolean | 是 | 是 | 如果是主服务设置为true,否则设置为false。 | 81>| characteristics | Array<**BLECharacteristic**> | 是 | 是 | 当前服务包含的特征列表。 | 82>| includeServices | Array<**GattService**> | 是 | 是 | 当前服务依赖的其它服务。 | 83> 84> 85> 86>#### BLECharacteristic 描述characteristic的接口参数定义 87> 88>| 名称 | 类型 | 可读 | 可写 | 说明 | 89>| :------------------ | :----------------------- | :--- | :--- | :----------------------------------------------------------- | 90>| serviceUuid | string | 是 | 是 | 特定服务(service)的UUID,例如:00001888-0000-1000-8000-00805f9b34fb。 | 91>| characteristicUuid | string | 是 | 是 | 特定特征(characteristic)的UUID,例如:00002a11-0000-1000-8000-00805f9b34fb。 | 92>| characteristicValue | ArrayBuffer | 是 | 是 | 特征对应的二进制值。 | 93>| descriptors | Array<**BLEDescriptor**> | 是 | 是 | 特定特征的描述符列表。 | 94> 95> 96> 97>#### BLEDescriptor 描述descriptor的接口参数定义 98> 99>| 名称 | 类型 | 可读 | 可写 | 说明 | 100>| :----------------- | :---------- | :--- | :--- | :----------------------------------------------------------- | 101>| serviceUuid | string | 是 | 是 | 特定服务(service)的UUID,例如:00001888-0000-1000-8000-00805f9b34fb。 | 102>| characteristicUuid | string | 是 | 是 | 特定特征(characteristic)的UUID,例如:00002a11-0000-1000-8000-00805f9b34fb。 | 103>| descriptorUuid | string | 是 | 是 | 描述符(descriptor)的UUID,例如:00002902-0000-1000-8000-00805f9b34fb。 | 104>| descriptorValue | ArrayBuffer | 是 | 是 | 描述符对应的二进制值。 | 105 106 107 108#### Gatt_Client测试功能 109 110**"蓝牙打开"是其他功能测试的前提** 111 1121. 创造GattClientDevice 113 114 - 使用指导:点击"创造GattClient"后,创建一个JavaScript网关客户端设备实例。 115 - 限制条件: 116 - 蓝牙状态要打开,且GattClient不存在实例,并且会判断是否输入了MAC地址和MAC地址长度正确与否。 117 - @throws { BusinessError } 401 - Invalid parameter. 118 * @throws { BusinessError } 801 - Capability not supported. 119 - 验证方法:尝试可以去连接GattServer端的设备。 120 1212. 连接/取消连接 122 123 - 使用指导: 124 125 > 连接:连接到BLE外围设备。如果连接进程启动,返回信息为true;否则返回false。 126 > 127 > 订阅“BLEConnectionStateChange”事件(即"ble连接状态")可以返回连接状态。 128 > 129 > 取消连接:断开或停止与BLE外围设备的持续连接。如果断开连接过程开始,返回信息为true;否则返回false。 130 131 - 限制条件: 132 133 - 只有蓝牙打开且连接成功后,"连接"的返回信息才会显示"成功",才能成功取消连接设备。 134 - @throws { BusinessError } 201 - Permission denied. 135 * @throws { BusinessError } 801 - Capability not supported. 136 * @throws { BusinessError } 2900001 - Service stopped. 137 * @throws { BusinessError } 2900003 - Bluetooth switch is off. 138 - @throws { BusinessError } 2900099 - Operation failed. 139 140 - 验证方法:在设备设置上查看连接状态。如果成功连接正在advertise on的服务端,服务端会有连接响应。 141 1423. ble连接状态 143 144 - 使用指导:为回调函数,用来监听相关类型事件的变化,并弹窗显示信息。 145 146 > - 订阅客户端连接状态更改事件。 147 > - type为要侦听的连接状态更改事件的类型。 148 > - callback回调用于侦听连接状态更改事件。 149 150 - 限制条件: 151 152 - 需要在相关类型事件发生改变前,开启监听。且需要蓝牙打开,gatt客户端实例存在。 153 - @throws { BusinessError } 201 - Permission denied. 154 - @throws { BusinessError } 801 - Capability not supported. 155 156 - 验证方法:在事件变化后,查看是否有弹窗信息显示,或直接查看其BLE连接状态。 157 1584. 关闭 159 160 - 使用指导:禁用BLE外围设备。 161 - 限制条件: 162 - 创立了Gatt客户端实例后,此方法注销设备并清除已注册的callback和handle。 163 - @throws { BusinessError } 201 - Permission denied. 164 - @throws { BusinessError } 801 - Capability not supported. 165 - @throws { BusinessError } 2900001 - Service stopped. 166 - @throws { BusinessError } 2900099 - Operation failed. 167 - 验证方法:客户端已经关闭,无法连接server端。 168 1695. 获取服务callback/promise 170 171 - 使用指导:点击后,开始发现服务。返回的信息为BLE外围设备的服务GattService列表。 172 - 限制条件: 173 - Gatt客户端实例存在,连接设备的code不为0,ServerUUid正确。 174 - @throws { BusinessError } 201 - Permission denied. 175 - @throws { BusinessError } 401 - Invalid parameter. 176 - @throws { BusinessError } 801 - Capability not supported. 177 - @throws { BusinessError } 2900001 - Service stopped. 178 - @throws { BusinessError } 2900099 - Operation failed. 179 - 验证方法:查看返回信息与连接的服务是否相同。 180 1816. 读取特征值callback/promise 182 183 - 使用指导:点击后,读取BLE外围设备的特性。characteristic表示要读取的特征。 184 - 限制条件: 185 - Gatt客户端实例存在,连接设备的errcode为0,特征值UUid正确。 186 - @throws { BusinessError } 201 - Permission denied. 187 - @throws { BusinessError } 401 - Invalid parameter. 188 - @throws { BusinessError } 801 - Capability not supported. 189 - @throws { BusinessError } 2900001 - Service stopped. 190 - @throws { BusinessError } 2901000 - Read forbidden. 191 - @throws { BusinessError } 2900099 - Operation failed. 192 - 验证方法:查看返回信息与连接的特征值是否相同。 193 1947. 读取描述符值callback/promise 195 196 - 使用指导:点击后,读取BLE外围设备的描述符。descriptor表示要读取的描述符。 197 - 限制条件: 198 - Gatt客户端实例存在,连接设备的errcode为0,描述符UUid正确。 199 - @throws { BusinessError } 201 - Permission denied. 200 * @throws { BusinessError } 401 - Invalid parameter. 201 * @throws { BusinessError } 801 - Capability not supported. 202 * @throws { BusinessError } 2900001 - Service stopped. 203 * @throws { BusinessError } 2901000 - Read forbidden. 204 * @throws { BusinessError } 2900099 - Operation failed. 205 - 验证方法:查看返回信息与连接的描述符值是否相同。 206 2078. 写入特征值 208 209 - 使用指导:写入BLE外围设备的特性。characteristic表示要写入的特征。如果成功写入特征,返回true;否则返回false。 210 - 限制条件: 211 - Gatt客户端实例存在,有写入的特征值。 212 - @throws { BusinessError } 201 - Permission denied. 213 * @throws { BusinessError } 401 - Invalid parameter. 214 * @throws { BusinessError } 801 - Capability not supported. 215 * @throws { BusinessError } 2900001 - Service stopped. 216 * @throws { BusinessError } 2901001 - Write forbidden. 217 * @throws { BusinessError } 2900099 - Operation failed. 218 - 验证方法:用验证程序查看写入的特征值。 219 2209. 写入描述符值 221 222 - 使用指导:写入BLE外围设备的描述符。descriptor指示要写入的描述符。如果描述符写入成功,返回true;否则返回false。 223 - 限制条件: 224 - Gatt客户端实例存在,有写入的描述符值。 225 - @throws { BusinessError } 201 - Permission denied. 226 * @throws { BusinessError } 401 - Invalid parameter. 227 * @throws { BusinessError } 801 - Capability not supported. 228 * @throws { BusinessError } 2900001 - Service stopped. 229 * @throws { BusinessError } 2901001 - Write forbidden. 230 - @throws { BusinessError } 2900099 - Operation failed. 231 - 验证方法:用验证程序查看写入的描述符值。 232 23310. BLE特征值变化 234 235 - 使用指导:为回调函数,用来监听相关类型事件的变化,并弹窗显示信息。 236 237 >订阅特征值更改事件。 238 > 239 >type为要侦听的特征值更改事件的类型。 240 > 241 >callback回调用于侦听特征值更改事件。 242 243 - 限制条件: 244 245 - 需要在相关类型事件发生改变前,开启监听。 246 - @throws { BusinessError } 201 - Permission denied. 247 * @throws { BusinessError } 801 - Capability not supported. 248 249 - 验证方法:在事件变化后,查看是否有弹窗信息显示。 250 25111. 设定BLEMtu尺寸 252 253 - 使用指导:设置BLE外围设备的mtu大小。mtu最大传输单位。如果设置mtu成功,返回信息为true;否则返回false。 254 - 限制条件: 255 - 蓝牙需要打开,Gatt客户端实例存在。 256 - @throws { BusinessError } 201 - Permission denied. 257 * @throws { BusinessError } 401 - Invalid parameter. 258 * @throws { BusinessError } 801 - Capability not supported. 259 * @throws { BusinessError } 2900001 - Service stopped. 260 - @throws { BusinessError } 2900099 - Operation failed. 261 - 验证方法:查看显示结果。 262 26312. 设置通知特性更改 264 265 - 使用指导:启用或禁用值更改时的特征通知。enable指定是否启用特征通知。值为true时表示通知已启用,值为false时表示通知已禁用。如果特性通知被启用,返回true;否则返回false。 266 - 限制条件: 267 - 蓝牙需要打开,Gatt客户端实例存在,且需要传入UUid值。 268 - @throws { BusinessError } 201 - Permission denied. 269 * @throws { BusinessError } 401 - Invalid parameter. 270 * @throws { BusinessError } 801 - Capability not supported. 271 * @throws { BusinessError } 2900001 - Service stopped. 272 - @throws { BusinessError } 2900099 - Operation failed. 273 - 验证方法:查看特征值的变化。 274 27513. 获取设备名称_callback/promise 276 277 - 使用指导:获取BLE外围设备的名称。如果获得,返回名称的字符串表示形式;如果无法获取名称或名称不存在,则返回null。 278 - 限制条件:Gatt客户端实例存在,传入的Name值要正确。 279 - 验证方法:查看显示的结果。 280 28114. 获取Rssi值_callback/promise 282 283 - 使用指导:获取此BLE外围设备的RSSI值。return返回RSSI值。 284 - 限制条件: 285 - Gatt客户端实例存在,传入的Rssi值要正确。 286 - @throws { BusinessError } 201 - Permission denied. 287 - @throws { BusinessError } 401 - Invalid parameter. 288 - @throws { BusinessError } 801 - Capability not supported. 289 - @throws { BusinessError } 2900099 - Operation failed. 290 - 验证方法:查看显示的结果。 291 292--- 293 294### Gatt服务器 295 296#### GattServerSetting界面 297 298点击"switch"图标,同样可以在setting界面修改MAC地址,ServerUUID,characteristicUuid,descriptorUuid的值。并且可以设置广播配置。默认值已经设置好,默认"设置"和"connectable"为已勾选的true,其他为false,如果测试时需要,可以手动设置"interval","txPower","Response" 299 300#### GattServer中的主要接口(ohos.bluetoothManager.d.ts) 301 302| method名称 | API名称 | 所需参数 | 返回值 | 备注 | 303| :------------: | :--------------------: | :----------------------------------------------------------: | :--------: | :--: | 304| 创建Gatt服务器 | createGattServer | () | GattServer | | 305| 添加服务 | addService | (service: GattService) | void | | 306| 删除服务 | removeService | (serviceUuid: string) | void | | 307| 开始广播 | startAdvertising | (setting: AdvertiseSetting, advData: AdvertiseData, advResponse?: AdvertiseData) | void | | 308| 停止广播 | stopAdvertising | () | void | | 309| 关闭 | close | () | void | | 310| 连接状态 | on.connectStateChange | (type: "connectStateChange", callback: Callback<BLEConnectChangedState>) | void | | 311| 读取特征值 | on.characteristicRead | (type: "characteristicRead", callback: Callback<CharacteristicReadReq>) | void | | 312| 写入特征值 | on.characteristicWrite | (type: "characteristicWrite", callback: Callback<CharacteristicWriteReq>) | void | | 313| 读取描述符 | on.descriptorRead | (type: "descriptorRead", callback: Callback<DescriptorReadReq>) | void | | 314| 写入描述符 | on.descriptorWrite | (type: "descriptorWrite", callback: Callback<DescriptorWriteReq>) | void | | 315 316>**接口所需的参数配置:** 317> 318>| 参数名 | 类型 | 必填 | 说明 | 319>| :---------- | :------------------- | :--- | :------------------------ | 320>| setting | **AdvertiseSetting** | 是 | BLE广播的相关参数。 | 321>| advData | **AdvertiseData** | 是 | BLE广播包内容。 | 322>| advResponse | **AdvertiseData** | 否 | BLE回复扫描请求回复响应。 | 323> 324> 325> 326>#### AdvertiseSetting 描述蓝牙低功耗设备发送广播的参数 327> 328>| 名称 | 类型 | 可读 | 可写 | 说明 | 329>| :---------- | :------ | :--- | :--- | :----------------------------------------------------------- | 330>| interval | number | 是 | 是 | 表示广播间隔,最小值设置32个slot表示20ms,最大值设置16384个slot,默认值设置为1600个slot表示1s。 | 331>| txPower | number | 是 | 是 | 表示发送功率,最小值设置-127,最大值设置1,默认值设置-7,单位dbm。 | 332>| connectable | boolean | 是 | 是 | 表示是否是可连接广播,默认值设置为true。 | 333> 334> 335> 336>#### AdvertiseData 描述BLE广播数据包的内容 337> 338>| 名称 | 类型 | 可读 | 可写 | 说明 | 339>| :-------------- | :------------------------- | :--- | :--- | :--------------------------------- | 340>| serviceUuids | Array<string> | 是 | 是 | 表示要广播的服务 UUID 列表。 | 341>| manufactureData | Array**<ManufactureData>** | 是 | 是 | 表示要广播的广播的制造商信息列表。 | 342>| serviceData | Array**<ServiceData>** | 是 | 是 | 表示要广播的服务数据列表。 | 343> 344> 345> 346>#### ManufactureData 描述BLE广播数据包的内容 347> 348>| 名称 | 类型 | 可读 | 可写 | 说明 | 349>| :--------------- | :---------- | :--- | :--- | :------------------------------ | 350>| manufactureId | number | 是 | 是 | 表示制造商的ID,由蓝牙SIG分配。 | 351>| manufactureValue | ArrayBuffer | 是 | 是 | 表示制造商发送的制造商数据。 | 352> 353> 354> 355>#### ServiceData 描述广播包中服务数据内容 356> 357>| 名称 | 类型 | 可读 | 可写 | 说明 | 358>| :----------- | :---------- | :--- | :--- | :--------------- | 359>| serviceUuid | string | 是 | 是 | 表示服务的UUID。 | 360>| serviceValue | ArrayBuffer | 是 | 是 | 表示服务数据。 | 361 362#### Gatt_Server测试功能 363 3641. 创建Gatt服务器 365 366 - 使用指导:创建JavaScript网关服务器实例。return返回JavaScript网关服务器实例code网关服务器。 367 368 - 限制条件:蓝牙状态要打开,且GattServer不存在实例。 369 370 - 验证方法:可以尝试用Client端去搜索本设备的GattServer端。 371 372 373 3742. 添加/删除服务 375 376 - 使用指导: 377 378 >添加服务: 379 > 380 >- 添加要承载的指定服务,添加的服务及其特性由本地设备提供。 381 > 382 >- service表示要添加的服务。 383 > 384 >- 如果添加了服务,返回 true;否则返回 false。 385 > 386 >删除服务: 387 > 388 >- 从该设备提供的GATT服务列表中删除指定的服务。 389 > 390 >- serviceUuid表示要删除的服务的UUID。 391 > 392 >- 如果服务被删除,返回 true;否则返回 false。 393 394 - 限制条件: 395 396 - Gatt服务端实例要存在,并且要传入UUid和value的值。 397 - @throws { BusinessError } 201 - Permission denied. 398 - @throws { BusinessError } 401 - Invalid parameter. 399 - @throws { BusinessError } 801 - Capability not supported. 400 - @throws { BusinessError } 2900001 - Service stopped. 401 - @throws { BusinessError } 2900003 - Bluetooth switch is off. 402 - @throws { BusinessError } 2900099 - Operation failed. 403 404 - 验证方法:使用验证程序查看服务是否添加/删除成功。 405 406 407 4083. 开始/停止广播 409 410 - 使用指导: 411 412 >开始广播: 413 > 414 >- 启动BLE广播。 415 >- setting指示BLE广播的设置。如果需要使用默认值,将此参数设置为null。 416 >- advData表示广播数据。advResponse表示与广播数据关联的扫描响应。 417 > 418 >停止广播:停止BLE广播。 419 420 - 限制条件: 421 422 - 配置页面中勾选了"√",并传入了正确的配置信息。 423 - @throws { BusinessError } 201 - Permission denied. 424 * @throws { BusinessError } 401 - Invalid parameter. 425 * @throws { BusinessError } 801 - Capability not supported. 426 * @throws { BusinessError } 2900001 - Service stopped. 427 * @throws { BusinessError } 2900003 - Bluetooth switch is off. 428 - @throws { BusinessError } 2900099 - Operation failed. 429 430 - 验证方法:查看显示信息,使用client端设备去尝试搜索广播。 431 432 433 4344. 关闭 435 436 - 使用指导:关闭此{GattServer}对象并注销其回调。 437 438 - 限制条件: 439 440 - Server端存在,才可以关闭。 441 - @throws { BusinessError } 201 - Permission denied. 442 * @throws { BusinessError } 801 - Capability not supported. 443 * @throws { BusinessError } 2900001 - Service stopped. 444 * @throws { BusinessError } 2900003 - Bluetooth switch is off. 445 * @throws { BusinessError } 2900099 - Operation failed. 446 447 - 验证方法:Server端关闭,无法搜索到本设备的Server端。 448 449 450 4515. 连接状态 452 453 - 使用指导:为回调函数,用来监听相关类型事件的变化,并弹窗显示信息。 454 455 > 订阅服务器连接状态更改事件。 456 > 457 > type为要侦听的连接状态更改事件的类型。 458 > 459 > callback回调用于侦听连接状态更改事件。 460 461 - 限制条件: 462 463 - 需要在相关类型事件发生改变前,开启监听。 464 - @throws { BusinessError } 201 - Permission denied. 465 - @throws { BusinessError } 401 - Invalid parameter. 466 - @throws { BusinessError } 801 - Capability not supported. 467 468 - 验证方法:在事件变化后,查看是否有弹窗信息显示。 469 470 471 4726. 读取/写入特征值 473 474 - 使用指导:为回调函数,用来监听相关类型事件的变化,并弹窗显示信息。 475 476 >读取特征值: 477 > 478 >- 订阅特征读取事件。 479 >- type为要侦听的特征读取事件的类型。 480 >- callback回调用于侦听特征读取事件。 481 > 482 >写入特征值: 483 > 484 >- 订阅特征写入事件。 485 >- type为要侦听的特征写入事件的类型。 486 >- callback回调用于侦听特征写入事件。 487 488 - 限制条件: 489 490 - 需要在相关类型事件发生改变前,开启监听。 491 - @throws { BusinessError } 201 - Permission denied. 492 - @throws { BusinessError } 401 - Invalid parameter. 493 - @throws { BusinessError } 801 - Capability not supported. 494 495 - 验证方法:在事件变化后,查看是否有弹窗信息显示。 496 497 498 4997. 读取/写入描述符 500 501 - 使用指导:为回调函数,用来监听相关类型事件的变化,并弹窗显示信息。 502 503 >读取描述符值: 504 > 505 >- 订阅描述符写入事件。 506 >- type为要侦听的描述符写入事件的类型。 507 >- callback为回调用于侦听描述符写入事件。 508 > 509 >写入描述符值: 510 > 511 >- 订阅描述符读取事件。 512 >- type为要侦听的描述符读取事件的类型。 513 >- callback回调用于侦听描述符读取事件。 514 515 - 限制条件: 516 517 - 需要在相关类型事件发生改变前,开启监听。 518 - @throws { BusinessError } 201 - Permission denied. 519 * @throws { BusinessError } 401 - Invalid parameter. 520 * @throws { BusinessError } 801 - Capability not supported. 521 522 - 验证方法:在事件变化后,查看是否有弹窗信息显示。