Bluetooth模块用于管理蓝牙设备,搜索附近蓝牙设备、实现简单数据传输等。

支持搜索发现所有蓝牙设备,但仅支持低功耗蓝牙ble传输协议,不支持蓝牙设备的配对连接传输大量数据。 如果要连接非ble蓝牙设备,可以使用Native.js调用(请到http://ask.dcloud.net.cn搜索bluetooth相关问答)。

方法:

  • closeBluetoothAdapter: 关闭蓝牙模块
  • getBluetoothAdapterState: 获取本机蓝牙适配器状态
  • getBluetoothDevices: 获取已搜索到的蓝牙设备
  • getConnectedBluetoothDevices: 根据uuid获取处于已连接的设备
  • onBluetoothAdapterStateChange: 监听蓝牙适配器状态变化事件
  • onBluetoothDeviceFound: 监听搜索到新设备的事件
  • openBluetoothAdapter: 初始化蓝牙模块
  • startBluetoothDevicesDiscovery: 开始搜索附近的蓝牙设备
  • stopBluetoothDevicesDiscovery: 停止搜寻附近的蓝牙外围设备
  • closeBLEConnection: 断开与低功耗蓝牙设备的连接
  • createBLEConnection: 连接低功耗蓝牙设备
  • setBLEMTU: 设置蓝牙最大传输单元
  • getBLEDeviceCharacteristics: 获取蓝牙设备指定服务中所有特征值(characteristic)
  • getBLEDeviceRSSI: 获取蓝牙设备的信号强度
  • getBLEDeviceServices: 获取蓝牙设备的所有服务(service)
  • notifyBLECharacteristicValueChange: 启用低功耗蓝牙设备特征值变化时的notify功能,订阅特征值
  • onBLECharacteristicValueChange: 监听低功耗蓝牙设备的特征值变化事件
  • onBLEConnectionStateChange: 监听低功耗蓝牙设备连接状态变化事件
  • readBLECharacteristicValue: 读取低功耗蓝牙设备指定特征值的二进制数据值
  • writeBLECharacteristicValue: 向低功耗蓝牙设备指定特征值写入二进制数据

对象:

  • BluetoothDeviceInfo: 蓝牙设备信息
  • BluetoothService: 蓝牙设备服务信息
  • Bluetoothcharacteristic: 蓝牙设备特征值
  • BluetoothcharacteristicProperties: 蓝牙设备特征值支持的操作类型

回调方法:

  • BluetoothSuccessCallback: 成功回调函数
  • BluetoothFailCallback: 失败回调函数
  • BluetoothCompleteCallback: 操作完成回调函数
  • BluetoothAdapterStateChangeCallback: 蓝牙适配器状态变化事件回调函数
  • BluetoothDeviceFoundCallback: 蓝牙适配器搜索到新设备事件回调函数
  • BluetoothDeviceRSSICallback: 获取蓝牙设备信号强度成功回调函数
  • BLEConnectionStateChangeCallback: 低功耗蓝牙设备连接状态变化事件回调函数
  • BLECharacteristicValueChangeCallback: 低功耗蓝牙设备的特征值变化事件回调函数

权限:

5+功能模块(permissions)

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#ffffff">{</span>
<span style="color:#87ceeb">// ...</span>
<span style="color:#ffa0a0">"permissions"</span><span style="color:#ffffff">:{</span><span style="color:#87ceeb">// ...</span><span style="color:#ffa0a0">"Bluetooth"</span><span style="color:#ffffff">:</span> <span style="color:#ffffff">{</span><span style="color:#ffa0a0">"description"</span><span style="color:#ffffff">:</span> <span style="color:#ffa0a0">"Bluetooth"</span><span style="color:#ffffff">}</span>
<span style="color:#ffffff">}</span>
<span style="color:#ffffff">}</span></code></span></span>

closeBluetoothAdapter

关闭蓝牙模块

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#f0e68c"><strong>void</strong></span><span style="color:#ffffff"> plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">bluetooth</span><span style="color:#ffffff">.</span><span style="color:#ffffff">closeBluetoothAdapter</span><span style="color:#ffffff">(</span><span style="color:#ffffff">options</span><span style="color:#ffffff">);</span></code></span></span>

说明:

断开所有已经建立的连接,释放系统资源,要求在蓝牙功能使用完成后调用(于openBluetoothAdapter成对使用)。 关闭成功后触发options参数中的success回调,失败触发options参数中的fail回调。

参数:

options参数为json类型,包含以下属性:

  • success: ( BluetoothSuccessCallback ) 可选 关闭蓝牙模块成功回调函数
  • fail: ( BluetoothFailCallback ) 可选 关闭蓝牙模块失败回调函数
  • complete: ( BluetoothCompleteCallback ) 可选 关闭蓝牙模块操作完成回调函数

    调用成功或失败都会触发此回调。

返回值:

void : 无

示例:

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#87ceeb">// 关闭蓝牙模块</span>
<span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff"> closeBluetoothAdapter</span><span style="color:#ffffff">(){</span><span style="color:#ffffff">plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">bluetooth</span><span style="color:#ffffff">.</span><span style="color:#ffffff">closeBluetoothAdapter</span><span style="color:#ffffff">({</span><span style="color:#ffffff">success</span><span style="color:#ffffff">:</span><span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff">(</span><span style="color:#ffffff">e</span><span style="color:#ffffff">){</span><span style="color:#ffffff">console</span><span style="color:#ffffff">.</span><span style="color:#ffffff">log</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">'close success: '</span><span style="color:#ffffff">+</span><span style="color:#ffffff">JSON</span><span style="color:#ffffff">.</span><span style="color:#ffffff">stringify</span><span style="color:#ffffff">(</span><span style="color:#ffffff">e</span><span style="color:#ffffff">));</span><span style="color:#ffffff">},</span><span style="color:#ffffff">fail</span><span style="color:#ffffff">:</span><span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff">(</span><span style="color:#ffffff">e</span><span style="color:#ffffff">){</span><span style="color:#ffffff">console</span><span style="color:#ffffff">.</span><span style="color:#ffffff">log</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">'close failed: '</span><span style="color:#ffffff">+</span><span style="color:#ffffff">JSON</span><span style="color:#ffffff">.</span><span style="color:#ffffff">stringify</span><span style="color:#ffffff">(</span><span style="color:#ffffff">e</span><span style="color:#ffffff">));</span><span style="color:#ffffff">}</span><span style="color:#ffffff">});</span>
<span style="color:#ffffff">}</span></code></span></span>

uni-app使用plus注意事项

getBluetoothAdapterState

获取本机蓝牙适配器状态

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#f0e68c"><strong>void</strong></span><span style="color:#ffffff"> plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">bluetooth</span><span style="color:#ffffff">.</span><span style="color:#ffffff">getBluetoothAdapterState</span><span style="color:#ffffff">(</span><span style="color:#ffffff">options</span><span style="color:#ffffff">);</span></code></span></span>

说明:

获取成功后触发options参数中的success回调,失败触发options参数中的fail回调。

参数:

options参数为json类型,包含以下属性:

  • success: ( BluetoothSuccessCallback ) 可选 获取蓝牙适配器状态成功回调函数

    回调函数参数event对象包括以下属性: discovering - Boolean类型,蓝牙适配器是否正在搜索设备; available - Boolean类型,蓝牙适配器是否可用。

  • fail: ( BluetoothFailCallback ) 可选 获取蓝牙适配器状态错误回调函数
  • complete: ( BluetoothCompleteCallback ) 可选 获取蓝牙适配器状态操作完成回调函数

    调用成功或失败都会触发此回调。

返回值:

void : 无

示例:

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#87ceeb">// 获取蓝牙状态</span>
<span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff"> getBluetoothState</span><span style="color:#ffffff">(){</span><span style="color:#ffffff">plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">bluetooth</span><span style="color:#ffffff">.</span><span style="color:#ffffff">getBluetoothAdapterState</span><span style="color:#ffffff">({</span><span style="color:#ffffff">success</span><span style="color:#ffffff">:</span><span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff">(</span><span style="color:#ffffff">e</span><span style="color:#ffffff">){</span><span style="color:#ffffff">console</span><span style="color:#ffffff">.</span><span style="color:#ffffff">log</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">'state success: '</span><span style="color:#ffffff">+</span><span style="color:#ffffff">JSON</span><span style="color:#ffffff">.</span><span style="color:#ffffff">stringify</span><span style="color:#ffffff">(</span><span style="color:#ffffff">e</span><span style="color:#ffffff">));</span><span style="color:#ffffff">},</span><span style="color:#ffffff">fail</span><span style="color:#ffffff">:</span><span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff">(</span><span style="color:#ffffff">e</span><span style="color:#ffffff">){</span><span style="color:#ffffff">console</span><span style="color:#ffffff">.</span><span style="color:#ffffff">log</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">'state failed: '</span><span style="color:#ffffff">+</span><span style="color:#ffffff">JSON</span><span style="color:#ffffff">.</span><span style="color:#ffffff">stringify</span><span style="color:#ffffff">(</span><span style="color:#ffffff">e</span><span style="color:#ffffff">));</span><span style="color:#ffffff">}</span><span style="color:#ffffff">});</span>
<span style="color:#ffffff">}</span></code></span></span>

uni-app使用plus注意事项

getBluetoothDevices

获取已搜索到的蓝牙设备

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#f0e68c"><strong>void</strong></span><span style="color:#ffffff"> plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">bluetooth</span><span style="color:#ffffff">.</span><span style="color:#ffffff">getBluetoothDevices</span><span style="color:#ffffff">(</span><span style="color:#ffffff">options</span><span style="color:#ffffff">);</span></code></span></span>

说明:

包括已经和本机处于连接状态的设备。 获取成功后触发options参数中的success回调,失败触发options参数中的fail回调。

参数:

options参数为json类型,包含以下属性:

  • success: ( BluetoothSuccessCallback ) 可选 获取蓝牙设备成功回调函数

    回调函数参数event对象包括以下属性: devices - Array<Object>,设备列表信息。

  • fail: ( BluetoothFailCallback ) 可选 获取蓝牙设备失败回调函数
  • complete: ( BluetoothCompleteCallback ) 可选 获取蓝牙设备操作完成回调函数

    调用成功或失败都会触发此回调。

返回值:

void : 无

示例:

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#87ceeb">// 获取已搜索到的蓝牙设备</span>
<span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff"> getBluetoothDevices</span><span style="color:#ffffff">(){</span><span style="color:#ffffff">plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">bluetooth</span><span style="color:#ffffff">.</span><span style="color:#ffffff">getBluetoothDevices</span><span style="color:#ffffff">({</span><span style="color:#ffffff">success</span><span style="color:#ffffff">:</span><span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff">(</span><span style="color:#ffffff">e</span><span style="color:#ffffff">){</span><span style="color:#f0e68c"><strong>var</strong></span><span style="color:#ffffff"> devices </span><span style="color:#ffffff">=</span><span style="color:#ffffff"> e</span><span style="color:#ffffff">.</span><span style="color:#ffffff">devices</span><span style="color:#ffffff">;</span><span style="color:#ffffff">console</span><span style="color:#ffffff">.</span><span style="color:#ffffff">log</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">'get devices success: '</span><span style="color:#ffffff">+</span><span style="color:#ffffff">e</span><span style="color:#ffffff">.</span><span style="color:#ffffff">length</span><span style="color:#ffffff">);</span><span style="color:#f0e68c"><strong>for</strong></span><span style="color:#ffffff">(</span><span style="color:#f0e68c"><strong>var</strong></span><span style="color:#ffffff"> i </span><span style="color:#f0e68c"><strong>in</strong></span><span style="color:#ffffff"> devices</span><span style="color:#ffffff">){</span><span style="color:#ffffff">console</span><span style="color:#ffffff">.</span><span style="color:#ffffff">log</span><span style="color:#ffffff">(</span><span style="color:#ffffff">i</span><span style="color:#ffffff">+</span><span style="color:#ffa0a0">': '</span><span style="color:#ffffff">+</span><span style="color:#ffffff">JSON</span><span style="color:#ffffff">.</span><span style="color:#ffffff">stringify</span><span style="color:#ffffff">(</span><span style="color:#ffffff">devices</span><span style="color:#ffffff">[</span><span style="color:#ffffff">i</span><span style="color:#ffffff">]));</span><span style="color:#ffffff">}</span><span style="color:#ffffff">},</span><span style="color:#ffffff">fail</span><span style="color:#ffffff">:</span><span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff">(</span><span style="color:#ffffff">e</span><span style="color:#ffffff">){</span><span style="color:#ffffff">console</span><span style="color:#ffffff">.</span><span style="color:#ffffff">log</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">'get devices failed: '</span><span style="color:#ffffff">+</span><span style="color:#ffffff">JSON</span><span style="color:#ffffff">.</span><span style="color:#ffffff">stringify</span><span style="color:#ffffff">(</span><span style="color:#ffffff">e</span><span style="color:#ffffff">));</span><span style="color:#ffffff">}</span><span style="color:#ffffff">});</span>
<span style="color:#ffffff">}</span></code></span></span>

uni-app使用plus注意事项

getConnectedBluetoothDevices

根据uuid获取处于已连接的设备

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#f0e68c"><strong>void</strong></span><span style="color:#ffffff"> plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">bluetooth</span><span style="color:#ffffff">.</span><span style="color:#ffffff">getConnectedBluetoothDevices</span><span style="color:#ffffff">(</span><span style="color:#ffffff">options</span><span style="color:#ffffff">);</span></code></span></span>

说明:

获取成功后触发options参数中的success回调,失败触发options参数中的fail回调。

参数:

options参数为json类型,包含以下属性:

  • services: ( Array[String] ) 必选 要获取设备的uuid列表

    蓝牙设备主service的uuid列表。

  • success: ( BluetoothSuccessCallback ) 可选 获取已连接设备成功回调函数

    回调函数参数event对象包括以下属性: devices - Array<BluetoothDeviceInfo>,设备列表信息(只包含name和deviceId属性)。

  • fail: ( BluetoothFailCallback ) 可选 获取已连接设备失败回调函数
  • complete: ( BluetoothCompleteCallback ) 可选 获取已连接设备操作完成回调函数

    调用成功或失败都会触发此回调。

返回值:

void : 无

示例:

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#87ceeb">// 获取已连接的蓝牙设备</span>
<span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff"> getConnectedDevices</span><span style="color:#ffffff">(){</span><span style="color:#ffffff">plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">bluetooth</span><span style="color:#ffffff">.</span><span style="color:#ffffff">getConnectedBluetoothDevices</span><span style="color:#ffffff">({</span><span style="color:#ffffff">success</span><span style="color:#ffffff">:</span><span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff">(</span><span style="color:#ffffff">e</span><span style="color:#ffffff">){</span><span style="color:#f0e68c"><strong>var</strong></span><span style="color:#ffffff"> devices </span><span style="color:#ffffff">=</span><span style="color:#ffffff"> e</span><span style="color:#ffffff">.</span><span style="color:#ffffff">devices</span><span style="color:#ffffff">;</span><span style="color:#ffffff">console</span><span style="color:#ffffff">.</span><span style="color:#ffffff">log</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">'connected devices success: '</span><span style="color:#ffffff">+</span><span style="color:#ffffff">e</span><span style="color:#ffffff">.</span><span style="color:#ffffff">length</span><span style="color:#ffffff">);</span><span style="color:#f0e68c"><strong>for</strong></span><span style="color:#ffffff">(</span><span style="color:#f0e68c"><strong>var</strong></span><span style="color:#ffffff"> i </span><span style="color:#f0e68c"><strong>in</strong></span><span style="color:#ffffff"> devices</span><span style="color:#ffffff">){</span><span style="color:#ffffff">console</span><span style="color:#ffffff">.</span><span style="color:#ffffff">log</span><span style="color:#ffffff">(</span><span style="color:#ffffff">i</span><span style="color:#ffffff">+</span><span style="color:#ffa0a0">': '</span><span style="color:#ffffff">+</span><span style="color:#ffffff">JSON</span><span style="color:#ffffff">.</span><span style="color:#ffffff">stringify</span><span style="color:#ffffff">(</span><span style="color:#ffffff">devices</span><span style="color:#ffffff">[</span><span style="color:#ffffff">i</span><span style="color:#ffffff">]));</span><span style="color:#ffffff">}</span><span style="color:#ffffff">},</span><span style="color:#ffffff">fail</span><span style="color:#ffffff">:</span><span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff">(</span><span style="color:#ffffff">e</span><span style="color:#ffffff">){</span><span style="color:#ffffff">console</span><span style="color:#ffffff">.</span><span style="color:#ffffff">log</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">'connected devices failed: '</span><span style="color:#ffffff">+</span><span style="color:#ffffff">JSON</span><span style="color:#ffffff">.</span><span style="color:#ffffff">stringify</span><span style="color:#ffffff">(</span><span style="color:#ffffff">e</span><span style="color:#ffffff">));</span><span style="color:#ffffff">}</span><span style="color:#ffffff">});</span>
<span style="color:#ffffff">}</span></code></span></span>

uni-app使用plus注意事项

onBluetoothAdapterStateChange

监听蓝牙适配器状态变化事件

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#f0e68c"><strong>void</strong></span><span style="color:#ffffff"> plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">bluetooth</span><span style="color:#ffffff">.</span><span style="color:#ffffff">onBluetoothAdapterStateChange</span><span style="color:#ffffff">(</span><span style="color:#ffffff">changeCB</span><span style="color:#ffffff">);</span></code></span></span>

说明:

蓝牙适配器状态发生变化时触发回调。

参数:

  • changeCB: ( BluetoothAdapterStateChangeCallback ) 必选 状态变化回调函数

    回调函数参数event对象包括以下属性: discovering - Boolean类型,蓝牙适配器是否正在搜索设备; available - Boolean类型,蓝牙适配器是否可用。

返回值:

void : 无

示例:

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#87ceeb">// 监听状态变化</span>
<span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff"> listenerStateChange</span><span style="color:#ffffff">(){</span><span style="color:#ffffff">plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">bluetooth</span><span style="color:#ffffff">.</span><span style="color:#ffffff">onBluetoothAdapterStateChange</span><span style="color:#ffffff">(</span><span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff">(</span><span style="color:#ffffff">e</span><span style="color:#ffffff">){</span><span style="color:#ffffff">console</span><span style="color:#ffffff">.</span><span style="color:#ffffff">log</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">'state changed: '</span><span style="color:#ffffff">+</span><span style="color:#ffffff">JSON</span><span style="color:#ffffff">.</span><span style="color:#ffffff">stringify</span><span style="color:#ffffff">(</span><span style="color:#ffffff">e</span><span style="color:#ffffff">));</span><span style="color:#ffffff">});</span>
<span style="color:#ffffff">}</span></code></span></span>

uni-app使用plus注意事项

onBluetoothDeviceFound

监听搜索到新设备的事件

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#f0e68c"><strong>void</strong></span><span style="color:#ffffff"> plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">bluetooth</span><span style="color:#ffffff">.</span><span style="color:#ffffff">onBluetoothDeviceFound</span><span style="color:#ffffff">(</span><span style="color:#ffffff">callback</span><span style="color:#ffffff">);</span></code></span></span>

说明:

搜索到新设备时触发回调。

参数:

  • callback: ( BluetoothDeviceFoundCallback ) 必选 搜索到新设备回调函数

    回调函数参数event对象包括以下属性: devices - Array<BluetoothDeviceInfo>,设备列表信息。

返回值:

void : 无

示例:

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#87ceeb">// 监听发现新设备</span>
<span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff"> listenerDeviceFound</span><span style="color:#ffffff">(){</span><span style="color:#ffffff">plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">bluetooth</span><span style="color:#ffffff">.</span><span style="color:#ffffff">onBluetoothDeviceFound</span><span style="color:#ffffff">(</span><span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff">(</span><span style="color:#ffffff">e</span><span style="color:#ffffff">){</span><span style="color:#f0e68c"><strong>var</strong></span><span style="color:#ffffff"> devices </span><span style="color:#ffffff">=</span><span style="color:#ffffff"> e</span><span style="color:#ffffff">.</span><span style="color:#ffffff">devices</span><span style="color:#ffffff">;</span><span style="color:#ffffff">console</span><span style="color:#ffffff">.</span><span style="color:#ffffff">log</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">'device found: '</span><span style="color:#ffffff">+</span><span style="color:#ffffff">e</span><span style="color:#ffffff">.</span><span style="color:#ffffff">length</span><span style="color:#ffffff">);</span><span style="color:#f0e68c"><strong>for</strong></span><span style="color:#ffffff">(</span><span style="color:#f0e68c"><strong>var</strong></span><span style="color:#ffffff"> i </span><span style="color:#f0e68c"><strong>in</strong></span><span style="color:#ffffff"> devices</span><span style="color:#ffffff">){</span><span style="color:#ffffff">console</span><span style="color:#ffffff">.</span><span style="color:#ffffff">log</span><span style="color:#ffffff">(</span><span style="color:#ffffff">i</span><span style="color:#ffffff">+</span><span style="color:#ffa0a0">': '</span><span style="color:#ffffff">+</span><span style="color:#ffffff">JSON</span><span style="color:#ffffff">.</span><span style="color:#ffffff">stringify</span><span style="color:#ffffff">(</span><span style="color:#ffffff">devices</span><span style="color:#ffffff">[</span><span style="color:#ffffff">i</span><span style="color:#ffffff">]));</span><span style="color:#ffffff">}</span><span style="color:#ffffff">});</span>
<span style="color:#ffffff">}</span></code></span></span>

uni-app使用plus注意事项

openBluetoothAdapter

初始化蓝牙模块

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#f0e68c"><strong>void</strong></span><span style="color:#ffffff"> plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">bluetooth</span><span style="color:#ffffff">.</span><span style="color:#ffffff">openBluetoothAdapter</span><span style="color:#ffffff">(</span><span style="color:#ffffff">options</span><span style="color:#ffffff">);</span></code></span></span>

说明:

初始化成功后触发options参数中的success回调,失败触发options参数中的fail回调。

参数:

options参数为json类型,包含以下属性:

  • success: ( BluetoothSuccessCallback ) 可选 初始化成功回调函数
  • fail: ( BluetoothFailCallback ) 可选 初始化失败回调函数
  • complete: ( BluetoothCompleteCallback ) 可选 初始化操作完成回调函数

    调用成功或失败都会触发此回调。

返回值:

void : 无

示例:

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#87ceeb">// 打开蓝牙模块</span>
<span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff"> openBluetoothAdapter</span><span style="color:#ffffff">(){</span><span style="color:#ffffff">plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">bluetooth</span><span style="color:#ffffff">.</span><span style="color:#ffffff">openBluetoothAdapter</span><span style="color:#ffffff">({</span><span style="color:#ffffff">success</span><span style="color:#ffffff">:</span><span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff">(</span><span style="color:#ffffff">e</span><span style="color:#ffffff">){</span><span style="color:#ffffff">console</span><span style="color:#ffffff">.</span><span style="color:#ffffff">log</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">'open success: '</span><span style="color:#ffffff">+</span><span style="color:#ffffff">JSON</span><span style="color:#ffffff">.</span><span style="color:#ffffff">stringify</span><span style="color:#ffffff">(</span><span style="color:#ffffff">e</span><span style="color:#ffffff">));</span><span style="color:#ffffff">},</span><span style="color:#ffffff">fail</span><span style="color:#ffffff">:</span><span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff">(</span><span style="color:#ffffff">e</span><span style="color:#ffffff">){</span><span style="color:#ffffff">console</span><span style="color:#ffffff">.</span><span style="color:#ffffff">log</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">'open failed: '</span><span style="color:#ffffff">+</span><span style="color:#ffffff">JSON</span><span style="color:#ffffff">.</span><span style="color:#ffffff">stringify</span><span style="color:#ffffff">(</span><span style="color:#ffffff">e</span><span style="color:#ffffff">));</span><span style="color:#ffffff">}</span><span style="color:#ffffff">});</span>
<span style="color:#ffffff">}</span></code></span></span>

uni-app使用plus注意事项

startBluetoothDevicesDiscovery

开始搜索附近的蓝牙设备

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#f0e68c"><strong>void</strong></span><span style="color:#ffffff"> plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">bluetooth</span><span style="color:#ffffff">.</span><span style="color:#ffffff">startBluetoothDevicesDiscovery</span><span style="color:#ffffff">(</span><span style="color:#ffffff">options</span><span style="color:#ffffff">);</span></code></span></span>

说明:

此操作比较耗费系统资源,请在搜索并连接到设备后调用stopBluetoothDevicesDiscovery方法停止搜索。 搜索成功后触发options参数中的success回调,失败触发options参数中的fail回调。

参数:

options参数为json类型,包含以下属性:

  • services: ( Array[String] ) 可选 要获取设备的uuid列表
  • allowDuplicatesKey: ( Boolean ) 可选 是否允许重复上报同一设备

    如果允许重复上报,则onBlueToothDeviceFound方法会多次上报同一设备,但是RSSI值会有不同。

  • interval: ( Number ) 可选 上报设备的间隔

    0表示找到新设备立即上报,其他数值根据传入的间隔上报。

  • success: ( BluetoothSuccessCallback ) 可选 开始搜索成功回调函数

    搜索到设备后通过onBluetoothDeviceFound设置的回调返回设备信息,此回调只是表明开始搜索。

  • fail: ( BluetoothFailCallback ) 可选 开始搜索失败回调函数
  • complete: ( BluetoothCompleteCallback ) 可选 开始搜索操作完成回调函数

    调用成功或失败都会触发此回调。

返回值:

void : 无

示例:

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#87ceeb">// 开始搜索蓝牙</span>
<span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff"> startBluetoothDiscovery</span><span style="color:#ffffff">(){</span><span style="color:#ffffff">plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">bluetooth</span><span style="color:#ffffff">.</span><span style="color:#ffffff">openBluetoothAdapter</span><span style="color:#ffffff">({</span><span style="color:#ffffff">success</span><span style="color:#ffffff">:</span><span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff">(</span><span style="color:#ffffff">e</span><span style="color:#ffffff">){</span><span style="color:#ffffff">console</span><span style="color:#ffffff">.</span><span style="color:#ffffff">log</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">'open success: '</span><span style="color:#ffffff">+</span><span style="color:#ffffff">JSON</span><span style="color:#ffffff">.</span><span style="color:#ffffff">stringify</span><span style="color:#ffffff">(</span><span style="color:#ffffff">e</span><span style="color:#ffffff">));</span><span style="color:#ffffff">plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">bluetooth</span><span style="color:#ffffff">.</span><span style="color:#ffffff">startBluetoothDevicesDiscovery</span><span style="color:#ffffff">({</span><span style="color:#ffffff">success</span><span style="color:#ffffff">:</span><span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff">(</span><span style="color:#ffffff">e</span><span style="color:#ffffff">){</span><span style="color:#ffffff">console</span><span style="color:#ffffff">.</span><span style="color:#ffffff">log</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">'start discovery success: '</span><span style="color:#ffffff">+</span><span style="color:#ffffff">JSON</span><span style="color:#ffffff">.</span><span style="color:#ffffff">stringify</span><span style="color:#ffffff">(</span><span style="color:#ffffff">e</span><span style="color:#ffffff">));</span><span style="color:#ffffff">},</span><span style="color:#ffffff">fail</span><span style="color:#ffffff">:</span><span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff">(</span><span style="color:#ffffff">e</span><span style="color:#ffffff">){</span><span style="color:#ffffff">console</span><span style="color:#ffffff">.</span><span style="color:#ffffff">log</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">'start discovery failed: '</span><span style="color:#ffffff">+</span><span style="color:#ffffff">JSON</span><span style="color:#ffffff">.</span><span style="color:#ffffff">stringify</span><span style="color:#ffffff">(</span><span style="color:#ffffff">e</span><span style="color:#ffffff">));</span><span style="color:#ffffff">}</span><span style="color:#ffffff">});</span><span style="color:#ffffff">},</span><span style="color:#ffffff">fail</span><span style="color:#ffffff">:</span><span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff">(</span><span style="color:#ffffff">e</span><span style="color:#ffffff">){</span><span style="color:#ffffff">console</span><span style="color:#ffffff">.</span><span style="color:#ffffff">log</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">'open failed: '</span><span style="color:#ffffff">+</span><span style="color:#ffffff">JSON</span><span style="color:#ffffff">.</span><span style="color:#ffffff">stringify</span><span style="color:#ffffff">(</span><span style="color:#ffffff">e</span><span style="color:#ffffff">));</span><span style="color:#ffffff">}</span><span style="color:#ffffff">});</span>
<span style="color:#ffffff">}</span></code></span></span>

uni-app使用plus注意事项

stopBluetoothDevicesDiscovery

停止搜寻附近的蓝牙外围设备

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#f0e68c"><strong>void</strong></span><span style="color:#ffffff"> plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">bluetooth</span><span style="color:#ffffff">.</span><span style="color:#ffffff">stopBluetoothDevicesDiscovery</span><span style="color:#ffffff">(</span><span style="color:#ffffff">options</span><span style="color:#ffffff">);</span></code></span></span>

说明:

若已经找到需要的蓝牙设备并不需要继续搜索时,应该调用该接口停止蓝牙搜索。 停止成功后触发options参数中的success回调,失败触发options参数中的fail回调。

参数:

options参数为json类型,包含以下属性:

  • success: ( BluetoothSuccessCallback ) 可选 停止搜寻成功回调函数
  • fail: ( BluetoothFailCallback ) 可选 停止搜寻失败回调函数
  • complete: ( BluetoothCompleteCallback ) 可选 停止搜寻操作完成回调函数

    调用成功或失败都会触发此回调。

返回值:

void : 无

示例:

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#87ceeb">// 结束搜索蓝牙</span>
<span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff"> stopBluetoothDiscovery</span><span style="color:#ffffff">(){</span><span style="color:#ffffff">plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">bluetooth</span><span style="color:#ffffff">.</span><span style="color:#ffffff">stopBluetoothDevicesDiscovery</span><span style="color:#ffffff">({</span><span style="color:#ffffff">success</span><span style="color:#ffffff">:</span><span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff">(</span><span style="color:#ffffff">e</span><span style="color:#ffffff">){</span><span style="color:#ffffff">console</span><span style="color:#ffffff">.</span><span style="color:#ffffff">log</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">'stop discovery success: '</span><span style="color:#ffffff">+</span><span style="color:#ffffff">JSON</span><span style="color:#ffffff">.</span><span style="color:#ffffff">stringify</span><span style="color:#ffffff">(</span><span style="color:#ffffff">e</span><span style="color:#ffffff">));</span><span style="color:#ffffff">plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">bluetooth</span><span style="color:#ffffff">.</span><span style="color:#ffffff">closeBluetoothAdapter</span><span style="color:#ffffff">({</span><span style="color:#ffffff">success</span><span style="color:#ffffff">:</span><span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff">(</span><span style="color:#ffffff">e</span><span style="color:#ffffff">){</span><span style="color:#ffffff">console</span><span style="color:#ffffff">.</span><span style="color:#ffffff">log</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">'close success: '</span><span style="color:#ffffff">+</span><span style="color:#ffffff">JSON</span><span style="color:#ffffff">.</span><span style="color:#ffffff">stringify</span><span style="color:#ffffff">(</span><span style="color:#ffffff">e</span><span style="color:#ffffff">));</span><span style="color:#ffffff">},</span><span style="color:#ffffff">fail</span><span style="color:#ffffff">:</span><span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff">(</span><span style="color:#ffffff">e</span><span style="color:#ffffff">){</span><span style="color:#ffffff">console</span><span style="color:#ffffff">.</span><span style="color:#ffffff">log</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">'close failed: '</span><span style="color:#ffffff">+</span><span style="color:#ffffff">JSON</span><span style="color:#ffffff">.</span><span style="color:#ffffff">stringify</span><span style="color:#ffffff">(</span><span style="color:#ffffff">e</span><span style="color:#ffffff">));</span><span style="color:#ffffff">}</span><span style="color:#ffffff">});</span><span style="color:#ffffff">},</span><span style="color:#ffffff">fail</span><span style="color:#ffffff">:</span><span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff">(</span><span style="color:#ffffff">e</span><span style="color:#ffffff">){</span><span style="color:#ffffff">console</span><span style="color:#ffffff">.</span><span style="color:#ffffff">log</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">'stop discovery failed: '</span><span style="color:#ffffff">+</span><span style="color:#ffffff">JSON</span><span style="color:#ffffff">.</span><span style="color:#ffffff">stringify</span><span style="color:#ffffff">(</span><span style="color:#ffffff">e</span><span style="color:#ffffff">));</span><span style="color:#ffffff">}</span><span style="color:#ffffff">});</span>
<span style="color:#ffffff">}</span></code></span></span>

uni-app使用plus注意事项

closeBLEConnection

断开与低功耗蓝牙设备的连接

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#f0e68c"><strong>void</strong></span><span style="color:#ffffff"> plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">bluetooth</span><span style="color:#ffffff">.</span><span style="color:#ffffff">closeBLEConnection</span><span style="color:#ffffff">(</span><span style="color:#ffffff">options</span><span style="color:#ffffff">);</span></code></span></span>

参数:

options参数为json类型,包含以下属性:

  • deviceId: ( String ) 必选 蓝牙设备的id
  • success: ( BluetoothSuccessCallback ) 可选 断开连接成功回调函数
  • fail: ( BluetoothFailCallback ) 可选 断开连接失败回调函数
  • complete: ( BluetoothCompleteCallback ) 可选 断开连接操作完成回调函数

    调用成功或失败都会触发此回调。

返回值:

void : 无

示例:

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#87ceeb">// 断开蓝牙设备</span>
<span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff"> closeConnection</span><span style="color:#ffffff">(){</span><span style="color:#ffffff">plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">bluetooth</span><span style="color:#ffffff">.</span><span style="color:#ffffff">closeBLEConnection</span><span style="color:#ffffff">({</span><span style="color:#ffffff">deviceId</span><span style="color:#ffffff">:</span><span style="color:#ffffff">deviceId</span><span style="color:#ffffff">,</span><span style="color:#ffffff">success</span><span style="color:#ffffff">:</span><span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff">(</span><span style="color:#ffffff">e</span><span style="color:#ffffff">){</span><span style="color:#ffffff">console</span><span style="color:#ffffff">.</span><span style="color:#ffffff">log</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">'close success: '</span><span style="color:#ffffff">+</span><span style="color:#ffffff">JSON</span><span style="color:#ffffff">.</span><span style="color:#ffffff">stringify</span><span style="color:#ffffff">(</span><span style="color:#ffffff">e</span><span style="color:#ffffff">));</span><span style="color:#ffffff">},</span><span style="color:#ffffff">fail</span><span style="color:#ffffff">:</span><span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff">(</span><span style="color:#ffffff">e</span><span style="color:#ffffff">){</span><span style="color:#ffffff">console</span><span style="color:#ffffff">.</span><span style="color:#ffffff">log</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">'close failed: '</span><span style="color:#ffffff">+</span><span style="color:#ffffff">JSON</span><span style="color:#ffffff">.</span><span style="color:#ffffff">stringify</span><span style="color:#ffffff">(</span><span style="color:#ffffff">e</span><span style="color:#ffffff">));</span><span style="color:#ffffff">}</span><span style="color:#ffffff">});</span>
<span style="color:#ffffff">}</span></code></span></span>

uni-app使用plus注意事项

createBLEConnection

连接低功耗蓝牙设备

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#f0e68c"><strong>void</strong></span><span style="color:#ffffff"> plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">bluetooth</span><span style="color:#ffffff">.</span><span style="color:#ffffff">createBLEConnection</span><span style="color:#ffffff">(</span><span style="color:#ffffff">options</span><span style="color:#ffffff">);</span></code></span></span>

说明:

若之前已有搜索过某个蓝牙设备,并成功建立连接,可直接传入之前搜索获取的deviceId尝试连接该设备,无需进行搜索操作。

参数:

options参数为json类型,包含以下属性:

  • deviceId: ( String ) 必选 蓝牙设备的id
  • timeout: ( Number ) 可选 超时时间

    单位为ms(毫秒),不设置此属性表示不会超时。

  • success: ( BluetoothSuccessCallback ) 可选 连接成功回调函数
  • fail: ( BluetoothFailCallback ) 可选 连接失败回调函数
  • complete: ( BluetoothCompleteCallback ) 可选 连接操作完成回调函数

    调用成功或失败都会触发此回调。

返回值:

void : 无

示例:

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#87ceeb">// 蓝牙设备id,可通过onBluetoothDeviceFound方法获取</span>
<span style="color:#f0e68c"><strong>var</strong></span><span style="color:#ffffff"> deviceId </span><span style="color:#ffffff">=</span> <span style="color:#ffa0a0">''</span><span style="color:#ffffff">;</span>
<span style="color:#87ceeb">// 连接蓝牙设备</span>
<span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff"> createConnection</span><span style="color:#ffffff">(){</span><span style="color:#ffffff">plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">bluetooth</span><span style="color:#ffffff">.</span><span style="color:#ffffff">createBLEConnection</span><span style="color:#ffffff">({</span><span style="color:#ffffff">deviceId</span><span style="color:#ffffff">:</span><span style="color:#ffffff">deviceId</span><span style="color:#ffffff">,</span><span style="color:#ffffff">success</span><span style="color:#ffffff">:</span><span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff">(</span><span style="color:#ffffff">e</span><span style="color:#ffffff">){</span><span style="color:#ffffff">console</span><span style="color:#ffffff">.</span><span style="color:#ffffff">log</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">'create connection success: '</span><span style="color:#ffffff">+</span><span style="color:#ffffff">JSON</span><span style="color:#ffffff">.</span><span style="color:#ffffff">stringify</span><span style="color:#ffffff">(</span><span style="color:#ffffff">e</span><span style="color:#ffffff">));</span><span style="color:#ffffff">},</span><span style="color:#ffffff">fail</span><span style="color:#ffffff">:</span><span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff">(</span><span style="color:#ffffff">e</span><span style="color:#ffffff">){</span><span style="color:#ffffff">console</span><span style="color:#ffffff">.</span><span style="color:#ffffff">log</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">'create connection failed: '</span><span style="color:#ffffff">+</span><span style="color:#ffffff">JSON</span><span style="color:#ffffff">.</span><span style="color:#ffffff">stringify</span><span style="color:#ffffff">(</span><span style="color:#ffffff">e</span><span style="color:#ffffff">));</span><span style="color:#ffffff">}</span><span style="color:#ffffff">});</span>
<span style="color:#ffffff">}</span></code></span></span>

uni-app使用plus注意事项

setBLEMTU

设置蓝牙最大传输单元

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#f0e68c"><strong>void</strong></span><span style="color:#ffffff"> plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">bluetooth</span><span style="color:#ffffff">.</span><span style="color:#ffffff">setBLEMTU</span><span style="color:#ffffff">(</span><span style="color:#ffffff">options</span><span style="color:#ffffff">);</span></code></span></span>

说明:

需在 createBLEConnection 调用成功后调用,mtu 设置范围 (22,512)。 HBuilderX2.8.4+版本支持。

参数:

options参数为json类型,包含以下属性:

  • deviceId: ( String ) 必选 设备的 id
  • mtu: ( Number ) 必选 最大传输单元(22,512) 区间内,单位为字节(bytes)
  • success: ( BluetoothSuccessCallback ) 可选 设置蓝牙最大传输单元成功回调函数
  • fail: ( BluetoothFailCallback ) 可选 设置蓝牙最大传输单元失败回调函数
  • complete: ( BluetoothCompleteCallback ) 可选 设置蓝牙最大传输单元操作完成回调函数

    调用成功或失败都会触发此回调。

返回值:

void : 无

平台支持:

  • Android - 5.1+ (支持)
  • iOS - ALL (不支持)

示例:

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#87ceeb">// 蓝牙设备id,可通过onBluetoothDeviceFound方法获取</span>
<span style="color:#f0e68c"><strong>var</strong></span><span style="color:#ffffff"> deviceId </span><span style="color:#ffffff">=</span> <span style="color:#ffa0a0">''</span><span style="color:#ffffff">;</span>
<span style="color:#87ceeb">// 连接蓝牙设备设置最大传输单元</span>
<span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff"> createConnection</span><span style="color:#ffffff">(){</span><span style="color:#ffffff">plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">bluetooth</span><span style="color:#ffffff">.</span><span style="color:#ffffff">createBLEConnection</span><span style="color:#ffffff">({</span><span style="color:#ffffff">deviceId</span><span style="color:#ffffff">:</span><span style="color:#ffffff">deviceId</span><span style="color:#ffffff">,</span><span style="color:#ffffff">success</span><span style="color:#ffffff">:</span><span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff">(</span><span style="color:#ffffff">e</span><span style="color:#ffffff">){</span><span style="color:#ffffff">console</span><span style="color:#ffffff">.</span><span style="color:#ffffff">log</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">'create connection success: '</span><span style="color:#ffffff">+</span><span style="color:#ffffff">JSON</span><span style="color:#ffffff">.</span><span style="color:#ffffff">stringify</span><span style="color:#ffffff">(</span><span style="color:#ffffff">e</span><span style="color:#ffffff">));</span><span style="color:#ffffff">plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">bluetooth</span><span style="color:#ffffff">.</span><span style="color:#ffffff">setBLEMTU</span><span style="color:#ffffff">({</span><span style="color:#ffffff">deviceId</span><span style="color:#ffffff">:</span><span style="color:#ffffff">deviceId</span><span style="color:#ffffff">,</span><span style="color:#ffffff">mtu</span><span style="color:#ffffff">:</span><span style="color:#cd5c5c">512</span><span style="color:#ffffff">,</span><span style="color:#ffffff">success</span><span style="color:#ffffff">:</span><span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff">(</span><span style="color:#ffffff">e</span><span style="color:#ffffff">){</span><span style="color:#ffffff">console</span><span style="color:#ffffff">.</span><span style="color:#ffffff">log</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">'set MTU success: '</span><span style="color:#ffffff">+</span><span style="color:#ffffff">JSON</span><span style="color:#ffffff">.</span><span style="color:#ffffff">stringify</span><span style="color:#ffffff">(</span><span style="color:#ffffff">e</span><span style="color:#ffffff">));</span><span style="color:#ffffff">},</span><span style="color:#ffffff">fail</span><span style="color:#ffffff">:</span><span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff">(</span><span style="color:#ffffff">e</span><span style="color:#ffffff">){</span><span style="color:#ffffff">console</span><span style="color:#ffffff">.</span><span style="color:#ffffff">log</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">'set MTU failed: '</span><span style="color:#ffffff">+</span><span style="color:#ffffff">JSON</span><span style="color:#ffffff">.</span><span style="color:#ffffff">stringify</span><span style="color:#ffffff">(</span><span style="color:#ffffff">e</span><span style="color:#ffffff">));</span><span style="color:#ffffff">}</span><span style="color:#ffffff">});</span><span style="color:#ffffff">},</span><span style="color:#ffffff">fail</span><span style="color:#ffffff">:</span><span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff">(</span><span style="color:#ffffff">e</span><span style="color:#ffffff">){</span><span style="color:#ffffff">console</span><span style="color:#ffffff">.</span><span style="color:#ffffff">log</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">'create connection failed: '</span><span style="color:#ffffff">+</span><span style="color:#ffffff">JSON</span><span style="color:#ffffff">.</span><span style="color:#ffffff">stringify</span><span style="color:#ffffff">(</span><span style="color:#ffffff">e</span><span style="color:#ffffff">));</span><span style="color:#ffffff">}</span><span style="color:#ffffff">});</span>
<span style="color:#ffffff">}</span></code></span></span>

uni-app使用plus注意事项

getBLEDeviceCharacteristics

获取蓝牙设备指定服务中所有特征值(characteristic)

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#f0e68c"><strong>void</strong></span><span style="color:#ffffff"> plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">bluetooth</span><span style="color:#ffffff">.</span><span style="color:#ffffff">getBLEDeviceCharacteristics</span><span style="color:#ffffff">(</span><span style="color:#ffffff">options</span><span style="color:#ffffff">);</span></code></span></span>

参数:

options参数为json类型,包含以下属性:

  • deviceId: ( String ) 必选 蓝牙设备的id
  • serviceId: ( String ) 必选 蓝牙服务 uuid

    可通过getBLEDeviceServices获取。

  • success: ( BluetoothSuccessCallback ) 可选 获取特征值成功回调函数

    回调函数参数event对象包括以下属性: characteristics - Array>Bluetoothcharacteristic<类型,蓝牙设备服务的特征值列表。

  • fail: ( BluetoothFailCallback ) 可选 获取特征值失败回调函数
  • complete: ( BluetoothCompleteCallback ) 可选 获取特征值操作完成回调函数

    调用成功或失败都会触发此回调。

返回值:

void : 无

示例:

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#87ceeb">// 蓝牙设备id,可通过onBluetoothDeviceFound方法获取</span>
<span style="color:#f0e68c"><strong>var</strong></span><span style="color:#ffffff"> deviceId </span><span style="color:#ffffff">=</span> <span style="color:#ffa0a0">''</span><span style="color:#ffffff">;</span>
<span style="color:#87ceeb">// 蓝牙服务uuid,可通过getBLEDeviceServices方法获取</span>
<span style="color:#f0e68c"><strong>var</strong></span><span style="color:#ffffff"> serviceId </span><span style="color:#ffffff">=</span> <span style="color:#ffa0a0">''</span><span style="color:#ffffff">;</span>
<span style="color:#87ceeb">// 获取蓝牙设备指定服务中所有特征值</span>
<span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff"> getCharacteristics</span><span style="color:#ffffff">(){</span><span style="color:#ffffff">plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">bluetooth</span><span style="color:#ffffff">.</span><span style="color:#ffffff">getBLEDeviceCharacteristics</span><span style="color:#ffffff">({</span><span style="color:#ffffff">deviceId</span><span style="color:#ffffff">:</span><span style="color:#ffffff">deviceId</span><span style="color:#ffffff">,</span><span style="color:#ffffff">serviceId</span><span style="color:#ffffff">:</span><span style="color:#ffffff">serviceId</span><span style="color:#ffffff">,</span><span style="color:#ffffff">success</span><span style="color:#ffffff">:</span><span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff">(</span><span style="color:#ffffff">e</span><span style="color:#ffffff">){</span><span style="color:#f0e68c"><strong>var</strong></span><span style="color:#ffffff"> characteristics </span><span style="color:#ffffff">=</span><span style="color:#ffffff"> e</span><span style="color:#ffffff">.</span><span style="color:#ffffff">characteristics</span><span style="color:#ffffff">;</span><span style="color:#ffffff">console</span><span style="color:#ffffff">.</span><span style="color:#ffffff">log</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">'get characteristics success: '</span><span style="color:#ffffff">+</span><span style="color:#ffffff">characteristics</span><span style="color:#ffffff">.</span><span style="color:#ffffff">length</span><span style="color:#ffffff">);</span><span style="color:#f0e68c"><strong>for</strong></span><span style="color:#ffffff">(</span><span style="color:#f0e68c"><strong>var</strong></span><span style="color:#ffffff"> i </span><span style="color:#f0e68c"><strong>in</strong></span><span style="color:#ffffff"> characteristics</span><span style="color:#ffffff">){</span><span style="color:#ffffff">console</span><span style="color:#ffffff">.</span><span style="color:#ffffff">log</span><span style="color:#ffffff">(</span><span style="color:#ffffff">i</span><span style="color:#ffffff">+</span><span style="color:#ffa0a0">': '</span><span style="color:#ffffff">+</span><span style="color:#ffffff">JSON</span><span style="color:#ffffff">.</span><span style="color:#ffffff">stringify</span><span style="color:#ffffff">(</span><span style="color:#ffffff">characteristics</span><span style="color:#ffffff">[</span><span style="color:#ffffff">i</span><span style="color:#ffffff">]));</span><span style="color:#ffffff">}</span><span style="color:#ffffff">},</span><span style="color:#ffffff">fail</span><span style="color:#ffffff">:</span><span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff">(</span><span style="color:#ffffff">e</span><span style="color:#ffffff">){</span><span style="color:#ffffff">console</span><span style="color:#ffffff">.</span><span style="color:#ffffff">log</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">'get characteristics failed: '</span><span style="color:#ffffff">+</span><span style="color:#ffffff">JSON</span><span style="color:#ffffff">.</span><span style="color:#ffffff">stringify</span><span style="color:#ffffff">(</span><span style="color:#ffffff">e</span><span style="color:#ffffff">));</span><span style="color:#ffffff">}</span><span style="color:#ffffff">});</span>
<span style="color:#ffffff">}</span></code></span></span>

uni-app使用plus注意事项

getBLEDeviceRSSI

获取蓝牙设备的信号强度

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#f0e68c"><strong>void</strong></span><span style="color:#ffffff"> plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">bluetooth</span><span style="color:#ffffff">.</span><span style="color:#ffffff">getBLEDeviceRSSI</span><span style="color:#ffffff">(</span><span style="color:#ffffff">options</span><span style="color:#ffffff">);</span></code></span></span>

说明:

需在 createBLEConnection 调用成功后调用。 HBuilderX2.8.4+版本支持。

参数:

options参数为json类型,包含以下属性:

  • deviceId: ( String ) 必选 设备的 id
  • success: ( BluetoothDeviceRSSICallback ) 可选 获取蓝牙设备信号强度成功回调函数

    回调函数参数event对象包括以下属性: RSSI - Number类型,蓝牙设备的信号强度。

  • fail: ( BluetoothFailCallback ) 可选 获取蓝牙设备信号强度失败回调函数
  • complete: ( BluetoothCompleteCallback ) 可选 获取蓝牙设备信号强度操作完成回调函数

    调用成功或失败都会触发此回调。

返回值:

void : 无

示例:

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#87ceeb">// 蓝牙设备id,可通过onBluetoothDeviceFound方法获取</span>
<span style="color:#f0e68c"><strong>var</strong></span><span style="color:#ffffff"> deviceId </span><span style="color:#ffffff">=</span> <span style="color:#ffa0a0">''</span><span style="color:#ffffff">;</span>
<span style="color:#87ceeb">// 连接蓝牙设备获取信号强度</span>
<span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff"> createConnection</span><span style="color:#ffffff">(){</span><span style="color:#ffffff">plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">bluetooth</span><span style="color:#ffffff">.</span><span style="color:#ffffff">createBLEConnection</span><span style="color:#ffffff">({</span><span style="color:#ffffff">deviceId</span><span style="color:#ffffff">:</span><span style="color:#ffffff">deviceId</span><span style="color:#ffffff">,</span><span style="color:#ffffff">success</span><span style="color:#ffffff">:</span><span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff">(</span><span style="color:#ffffff">e</span><span style="color:#ffffff">){</span><span style="color:#ffffff">console</span><span style="color:#ffffff">.</span><span style="color:#ffffff">log</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">'create connection success: '</span><span style="color:#ffffff">+</span><span style="color:#ffffff">JSON</span><span style="color:#ffffff">.</span><span style="color:#ffffff">stringify</span><span style="color:#ffffff">(</span><span style="color:#ffffff">e</span><span style="color:#ffffff">));</span><span style="color:#ffffff">plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">bluetooth</span><span style="color:#ffffff">.</span><span style="color:#ffffff">getBLEDeviceRSSI</span><span style="color:#ffffff">({</span><span style="color:#ffffff">deviceId</span><span style="color:#ffffff">:</span><span style="color:#ffffff">deviceId</span><span style="color:#ffffff">,</span><span style="color:#ffffff">success</span><span style="color:#ffffff">:</span><span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff">(</span><span style="color:#ffffff">e</span><span style="color:#ffffff">){</span><span style="color:#ffffff">console</span><span style="color:#ffffff">.</span><span style="color:#ffffff">log</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">'RSSI: '</span><span style="color:#ffffff">+</span><span style="color:#ffffff">e</span><span style="color:#ffffff">.</span><span style="color:#ffffff">RSSI</span><span style="color:#ffffff">);</span><span style="color:#ffffff">},</span><span style="color:#ffffff">fail</span><span style="color:#ffffff">:</span><span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff">(</span><span style="color:#ffffff">e</span><span style="color:#ffffff">){</span><span style="color:#ffffff">console</span><span style="color:#ffffff">.</span><span style="color:#ffffff">log</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">'get RSSI failed: '</span><span style="color:#ffffff">+</span><span style="color:#ffffff">JSON</span><span style="color:#ffffff">.</span><span style="color:#ffffff">stringify</span><span style="color:#ffffff">(</span><span style="color:#ffffff">e</span><span style="color:#ffffff">));</span><span style="color:#ffffff">}</span><span style="color:#ffffff">});</span><span style="color:#ffffff">},</span><span style="color:#ffffff">fail</span><span style="color:#ffffff">:</span><span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff">(</span><span style="color:#ffffff">e</span><span style="color:#ffffff">){</span><span style="color:#ffffff">console</span><span style="color:#ffffff">.</span><span style="color:#ffffff">log</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">'create connection failed: '</span><span style="color:#ffffff">+</span><span style="color:#ffffff">JSON</span><span style="color:#ffffff">.</span><span style="color:#ffffff">stringify</span><span style="color:#ffffff">(</span><span style="color:#ffffff">e</span><span style="color:#ffffff">));</span><span style="color:#ffffff">}</span><span style="color:#ffffff">});</span>
<span style="color:#ffffff">}</span></code></span></span>

uni-app使用plus注意事项

getBLEDeviceServices

获取蓝牙设备的所有服务(service)

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#f0e68c"><strong>void</strong></span><span style="color:#ffffff"> plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">bluetooth</span><span style="color:#ffffff">.</span><span style="color:#ffffff">getBLEDeviceServices</span><span style="color:#ffffff">(</span><span style="color:#ffffff">options</span><span style="color:#ffffff">);</span></code></span></span>

参数:

options参数为json类型,包含以下属性:

  • deviceId: ( String ) 必选 蓝牙设备的id
  • success: ( BluetoothSuccessCallback ) 可选 获取服务成功回调函数

    回调函数参数event对象包括以下属性: services - Array>BluetoothService<类型,蓝牙设备服务的特征值列表。

  • fail: ( BluetoothFailCallback ) 可选 获取服务失败回调函数
  • complete: ( BluetoothCompleteCallback ) 可选 获取服务操作完成回调函数

    调用成功或失败都会触发此回调。

返回值:

void : 无

示例:

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#87ceeb">// 蓝牙设备id,可通过onBluetoothDeviceFound方法获取</span>
<span style="color:#f0e68c"><strong>var</strong></span><span style="color:#ffffff"> deviceId </span><span style="color:#ffffff">=</span> <span style="color:#ffa0a0">''</span><span style="color:#ffffff">;</span>
<span style="color:#87ceeb">// 获取蓝牙设备的所有服务</span>
<span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff"> getServices</span><span style="color:#ffffff">(){</span><span style="color:#ffffff">plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">bluetooth</span><span style="color:#ffffff">.</span><span style="color:#ffffff">getBLEDeviceServices</span><span style="color:#ffffff">({</span><span style="color:#ffffff">deviceId</span><span style="color:#ffffff">:</span><span style="color:#ffffff">deviceId</span><span style="color:#ffffff">,</span><span style="color:#ffffff">success</span><span style="color:#ffffff">:</span><span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff">(</span><span style="color:#ffffff">e</span><span style="color:#ffffff">){</span><span style="color:#f0e68c"><strong>var</strong></span><span style="color:#ffffff"> services </span><span style="color:#ffffff">=</span><span style="color:#ffffff"> e</span><span style="color:#ffffff">.</span><span style="color:#ffffff">services</span><span style="color:#ffffff">;</span><span style="color:#ffffff">console</span><span style="color:#ffffff">.</span><span style="color:#ffffff">log</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">'get services success: '</span><span style="color:#ffffff">+</span><span style="color:#ffffff">services</span><span style="color:#ffffff">.</span><span style="color:#ffffff">length</span><span style="color:#ffffff">);</span><span style="color:#f0e68c"><strong>for</strong></span><span style="color:#ffffff">(</span><span style="color:#f0e68c"><strong>var</strong></span><span style="color:#ffffff"> i </span><span style="color:#f0e68c"><strong>in</strong></span><span style="color:#ffffff"> services</span><span style="color:#ffffff">){</span><span style="color:#ffffff">console</span><span style="color:#ffffff">.</span><span style="color:#ffffff">log</span><span style="color:#ffffff">(</span><span style="color:#ffffff">i</span><span style="color:#ffffff">+</span><span style="color:#ffa0a0">': '</span><span style="color:#ffffff">+</span><span style="color:#ffffff">JSON</span><span style="color:#ffffff">.</span><span style="color:#ffffff">stringify</span><span style="color:#ffffff">(</span><span style="color:#ffffff">services</span><span style="color:#ffffff">[</span><span style="color:#ffffff">i</span><span style="color:#ffffff">]));</span><span style="color:#ffffff">}</span><span style="color:#ffffff">},</span><span style="color:#ffffff">fail</span><span style="color:#ffffff">:</span><span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff">(</span><span style="color:#ffffff">e</span><span style="color:#ffffff">){</span><span style="color:#ffffff">console</span><span style="color:#ffffff">.</span><span style="color:#ffffff">log</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">'get services failed: '</span><span style="color:#ffffff">+</span><span style="color:#ffffff">JSON</span><span style="color:#ffffff">.</span><span style="color:#ffffff">stringify</span><span style="color:#ffffff">(</span><span style="color:#ffffff">e</span><span style="color:#ffffff">));</span><span style="color:#ffffff">}</span><span style="color:#ffffff">});</span>
<span style="color:#ffffff">}</span></code></span></span>

uni-app使用plus注意事项

notifyBLECharacteristicValueChange

启用低功耗蓝牙设备特征值变化时的notify功能,订阅特征值

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#f0e68c"><strong>void</strong></span><span style="color:#ffffff"> plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">bluetooth</span><span style="color:#ffffff">.</span><span style="color:#ffffff">notifyBLECharacteristicValueChange</span><span style="color:#ffffff">(</span><span style="color:#ffffff">options</span><span style="color:#ffffff">);</span></code></span></span>

说明:

蓝牙设备服务的特征值必须支持notify或indicate才可以成功调用。 另外,必须先启用notifyBLECharacteristicValueChange才能监听到设备characteristicValueChange事件,即特征值发生变化时通过onBLECharacteristicValueChange注册的事件回调。

参数:

options参数为json类型,包含以下属性:

  • deviceId: ( String ) 必选 蓝牙设备的id
  • serviceId: ( String ) 必选 蓝牙服务的uuid
  • characteristicId: ( String ) 必选 蓝牙特征值的uuid
  • state: ( Boolean ) 必选 是否启用 notify
  • success: ( BluetoothSuccessCallback ) 可选 订阅特征值成功回调函数
  • fail: ( BluetoothFailCallback ) 可选 订阅特征值失败回调函数
  • complete: ( BluetoothCompleteCallback ) 可选 订阅特征值操作完成回调函数

    调用成功或失败都会触发此回调。

返回值:

void : 无

示例:

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#87ceeb">// 蓝牙设备id,可通过onBluetoothDeviceFound方法获取</span>
<span style="color:#f0e68c"><strong>var</strong></span><span style="color:#ffffff"> deviceId </span><span style="color:#ffffff">=</span> <span style="color:#ffa0a0">''</span><span style="color:#ffffff">;</span>
<span style="color:#87ceeb">// 蓝牙服务id,可通过getBLEDeviceServices方法获取</span>
<span style="color:#f0e68c"><strong>var</strong></span><span style="color:#ffffff"> serviceId </span><span style="color:#ffffff">=</span> <span style="color:#ffa0a0">''</span><span style="color:#ffffff">;</span>
<span style="color:#87ceeb">// 蓝牙特征值id,可通过getBLEDeviceCharacteristics方法获取</span>
<span style="color:#f0e68c"><strong>var</strong></span><span style="color:#ffffff"> characteristicId </span><span style="color:#ffffff">=</span> <span style="color:#ffa0a0">''</span><span style="color:#ffffff">;</span>
<span style="color:#87ceeb">// 启用低功耗蓝牙设备特征值变化时的notify功能</span>
<span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff"> startCharacteristicsNotify</span><span style="color:#ffffff">(){</span><span style="color:#87ceeb">// 监听低功耗蓝牙设备的特征值变化 </span><span style="color:#ffffff">plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">bluetooth</span><span style="color:#ffffff">.</span><span style="color:#ffffff">onBLECharacteristicValueChange</span><span style="color:#ffffff">(</span><span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff">(</span><span style="color:#ffffff">e</span><span style="color:#ffffff">){</span><span style="color:#ffffff">console</span><span style="color:#ffffff">.</span><span style="color:#ffffff">log</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">'onBLECharacteristicValueChange: '</span><span style="color:#ffffff">+</span><span style="color:#ffffff">JSON</span><span style="color:#ffffff">.</span><span style="color:#ffffff">stringify</span><span style="color:#ffffff">(</span><span style="color:#ffffff">e</span><span style="color:#ffffff">));</span><span style="color:#f0e68c"><strong>var</strong></span><span style="color:#ffffff"> value </span><span style="color:#ffffff">=</span><span style="color:#ffffff"> buffer2hex</span><span style="color:#ffffff">(</span><span style="color:#ffffff">e</span><span style="color:#ffffff">.</span><span style="color:#ffffff">value</span><span style="color:#ffffff">);</span><span style="color:#ffffff">console</span><span style="color:#ffffff">.</span><span style="color:#ffffff">log</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">'value(hex) = '</span><span style="color:#ffffff">+</span><span style="color:#ffffff">value</span><span style="color:#ffffff">);</span><span style="color:#f0e68c"><strong>if</strong></span><span style="color:#ffffff">(</span><span style="color:#ffffff">characteristicId </span><span style="color:#ffffff">==</span><span style="color:#ffffff"> e</span><span style="color:#ffffff">.</span><span style="color:#ffffff">characteristicId</span><span style="color:#ffffff">){</span><span style="color:#87ceeb">// 更新到页面显示</span><span style="color:#ffffff">alert</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">'特征值变化: '</span><span style="color:#ffffff">+</span><span style="color:#ffffff">value</span><span style="color:#ffffff">);</span><span style="color:#ffffff">}</span><span style="color:#ffffff">});</span><span style="color:#87ceeb">// 启用notify功能</span><span style="color:#ffffff">plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">bluetooth</span><span style="color:#ffffff">.</span><span style="color:#ffffff">notifyBLECharacteristicValueChange</span><span style="color:#ffffff">({</span><span style="color:#ffffff">deviceId</span><span style="color:#ffffff">:</span><span style="color:#ffffff">deviceId</span><span style="color:#ffffff">,</span><span style="color:#ffffff">serviceId</span><span style="color:#ffffff">:</span><span style="color:#ffffff">serviceId</span><span style="color:#ffffff">,</span><span style="color:#ffffff">characteristicId</span><span style="color:#ffffff">:</span><span style="color:#ffffff">characteristicId</span><span style="color:#ffffff">,</span><span style="color:#ffffff">success</span><span style="color:#ffffff">:</span><span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff">(</span><span style="color:#ffffff">e</span><span style="color:#ffffff">){</span><span style="color:#f0e68c"><strong>var</strong></span><span style="color:#ffffff"> characteristics </span><span style="color:#ffffff">=</span><span style="color:#ffffff"> e</span><span style="color:#ffffff">.</span><span style="color:#ffffff">characteristics</span><span style="color:#ffffff">;</span><span style="color:#ffffff">console</span><span style="color:#ffffff">.</span><span style="color:#ffffff">log</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">'get characteristics success: '</span><span style="color:#ffffff">+</span><span style="color:#ffffff">characteristics</span><span style="color:#ffffff">.</span><span style="color:#ffffff">length</span><span style="color:#ffffff">);</span><span style="color:#f0e68c"><strong>for</strong></span><span style="color:#ffffff">(</span><span style="color:#f0e68c"><strong>var</strong></span><span style="color:#ffffff"> i </span><span style="color:#f0e68c"><strong>in</strong></span><span style="color:#ffffff"> characteristics</span><span style="color:#ffffff">){</span><span style="color:#ffffff">console</span><span style="color:#ffffff">.</span><span style="color:#ffffff">log</span><span style="color:#ffffff">(</span><span style="color:#ffffff">i</span><span style="color:#ffffff">+</span><span style="color:#ffa0a0">': '</span><span style="color:#ffffff">+</span><span style="color:#ffffff">JSON</span><span style="color:#ffffff">.</span><span style="color:#ffffff">stringify</span><span style="color:#ffffff">(</span><span style="color:#ffffff">characteristics</span><span style="color:#ffffff">[</span><span style="color:#ffffff">i</span><span style="color:#ffffff">]));</span><span style="color:#ffffff">}</span><span style="color:#ffffff">},</span><span style="color:#ffffff">fail</span><span style="color:#ffffff">:</span><span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff">(</span><span style="color:#ffffff">e</span><span style="color:#ffffff">){</span><span style="color:#ffffff">console</span><span style="color:#ffffff">.</span><span style="color:#ffffff">log</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">'get characteristics failed: '</span><span style="color:#ffffff">+</span><span style="color:#ffffff">JSON</span><span style="color:#ffffff">.</span><span style="color:#ffffff">stringify</span><span style="color:#ffffff">(</span><span style="color:#ffffff">e</span><span style="color:#ffffff">));</span><span style="color:#ffffff">}</span><span style="color:#ffffff">});</span>
<span style="color:#ffffff">}</span></code></span></span>

uni-app使用plus注意事项

onBLECharacteristicValueChange

监听低功耗蓝牙设备的特征值变化事件

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#f0e68c"><strong>void</strong></span><span style="color:#ffffff"> plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">bluetooth</span><span style="color:#ffffff">.</span><span style="color:#ffffff">onBLECharacteristicValueChange</span><span style="color:#ffffff">(</span><span style="color:#ffffff">callback</span><span style="color:#ffffff">);</span></code></span></span>

参数:

  • callback: ( BLECharacteristicValueChangeCallback ) 必选 特征值变化回调函数

    回调函数参数event对象包括以下属性: deviceId - String类型,蓝牙设备id; serviceId - String类型,蓝牙服务的uuid; characteristicId - String类型,蓝牙特征值的uuid; value - ArrayBuffer类型,特征值的最新值。

返回值:

void : 无

示例:

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#87ceeb">// 蓝牙设备id,可通过onBluetoothDeviceFound方法获取</span>
<span style="color:#f0e68c"><strong>var</strong></span><span style="color:#ffffff"> deviceId </span><span style="color:#ffffff">=</span> <span style="color:#ffa0a0">''</span><span style="color:#ffffff">;</span>
<span style="color:#87ceeb">// 蓝牙服务id,可通过getBLEDeviceServices方法获取</span>
<span style="color:#f0e68c"><strong>var</strong></span><span style="color:#ffffff"> serviceId </span><span style="color:#ffffff">=</span> <span style="color:#ffa0a0">''</span><span style="color:#ffffff">;</span>
<span style="color:#87ceeb">// 蓝牙特征值id,可通过getBLEDeviceCharacteristics方法获取</span>
<span style="color:#f0e68c"><strong>var</strong></span><span style="color:#ffffff"> characteristicId </span><span style="color:#ffffff">=</span> <span style="color:#ffa0a0">''</span><span style="color:#ffffff">;</span><span style="color:#87ceeb">// 启用低功耗蓝牙设备特征值变化时的notify功能</span>
<span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff"> startCharacteristicsNotify</span><span style="color:#ffffff">(){</span><span style="color:#87ceeb">// 监听低功耗蓝牙设备的特征值变化 </span><span style="color:#ffffff">plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">bluetooth</span><span style="color:#ffffff">.</span><span style="color:#ffffff">onBLECharacteristicValueChange</span><span style="color:#ffffff">(</span><span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff">(</span><span style="color:#ffffff">e</span><span style="color:#ffffff">){</span><span style="color:#ffffff">console</span><span style="color:#ffffff">.</span><span style="color:#ffffff">log</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">'onBLECharacteristicValueChange: '</span><span style="color:#ffffff">+</span><span style="color:#ffffff">JSON</span><span style="color:#ffffff">.</span><span style="color:#ffffff">stringify</span><span style="color:#ffffff">(</span><span style="color:#ffffff">e</span><span style="color:#ffffff">));</span><span style="color:#f0e68c"><strong>var</strong></span><span style="color:#ffffff"> value </span><span style="color:#ffffff">=</span><span style="color:#ffffff"> buffer2hex</span><span style="color:#ffffff">(</span><span style="color:#ffffff">e</span><span style="color:#ffffff">.</span><span style="color:#ffffff">value</span><span style="color:#ffffff">);</span><span style="color:#ffffff">console</span><span style="color:#ffffff">.</span><span style="color:#ffffff">log</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">'value(hex) = '</span><span style="color:#ffffff">+</span><span style="color:#ffffff">value</span><span style="color:#ffffff">);</span><span style="color:#f0e68c"><strong>if</strong></span><span style="color:#ffffff">(</span><span style="color:#ffffff">characteristicId </span><span style="color:#ffffff">==</span><span style="color:#ffffff"> e</span><span style="color:#ffffff">.</span><span style="color:#ffffff">characteristicId</span><span style="color:#ffffff">){</span><span style="color:#87ceeb">// 更新到页面显示</span><span style="color:#ffffff">alert</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">'特征值变化: '</span><span style="color:#ffffff">+</span><span style="color:#ffffff">value</span><span style="color:#ffffff">);</span><span style="color:#ffffff">}</span><span style="color:#ffffff">});</span><span style="color:#87ceeb">// 启用notify功能</span><span style="color:#ffffff">plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">bluetooth</span><span style="color:#ffffff">.</span><span style="color:#ffffff">notifyBLECharacteristicValueChange</span><span style="color:#ffffff">({</span><span style="color:#ffffff">deviceId</span><span style="color:#ffffff">:</span><span style="color:#ffffff">deviceId</span><span style="color:#ffffff">,</span><span style="color:#ffffff">serviceId</span><span style="color:#ffffff">:</span><span style="color:#ffffff">serviceId</span><span style="color:#ffffff">,</span><span style="color:#ffffff">characteristicId</span><span style="color:#ffffff">:</span><span style="color:#ffffff">characteristicId</span><span style="color:#ffffff">,</span><span style="color:#ffffff">success</span><span style="color:#ffffff">:</span><span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff">(</span><span style="color:#ffffff">e</span><span style="color:#ffffff">){</span><span style="color:#f0e68c"><strong>var</strong></span><span style="color:#ffffff"> characteristics </span><span style="color:#ffffff">=</span><span style="color:#ffffff"> e</span><span style="color:#ffffff">.</span><span style="color:#ffffff">characteristics</span><span style="color:#ffffff">;</span><span style="color:#ffffff">console</span><span style="color:#ffffff">.</span><span style="color:#ffffff">log</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">'get characteristics success: '</span><span style="color:#ffffff">+</span><span style="color:#ffffff">characteristics</span><span style="color:#ffffff">.</span><span style="color:#ffffff">length</span><span style="color:#ffffff">);</span><span style="color:#f0e68c"><strong>for</strong></span><span style="color:#ffffff">(</span><span style="color:#f0e68c"><strong>var</strong></span><span style="color:#ffffff"> i </span><span style="color:#f0e68c"><strong>in</strong></span><span style="color:#ffffff"> characteristics</span><span style="color:#ffffff">){</span><span style="color:#ffffff">console</span><span style="color:#ffffff">.</span><span style="color:#ffffff">log</span><span style="color:#ffffff">(</span><span style="color:#ffffff">i</span><span style="color:#ffffff">+</span><span style="color:#ffa0a0">': '</span><span style="color:#ffffff">+</span><span style="color:#ffffff">JSON</span><span style="color:#ffffff">.</span><span style="color:#ffffff">stringify</span><span style="color:#ffffff">(</span><span style="color:#ffffff">characteristics</span><span style="color:#ffffff">[</span><span style="color:#ffffff">i</span><span style="color:#ffffff">]));</span><span style="color:#ffffff">}</span><span style="color:#ffffff">},</span><span style="color:#ffffff">fail</span><span style="color:#ffffff">:</span><span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff">(</span><span style="color:#ffffff">e</span><span style="color:#ffffff">){</span><span style="color:#ffffff">console</span><span style="color:#ffffff">.</span><span style="color:#ffffff">log</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">'get characteristics failed: '</span><span style="color:#ffffff">+</span><span style="color:#ffffff">JSON</span><span style="color:#ffffff">.</span><span style="color:#ffffff">stringify</span><span style="color:#ffffff">(</span><span style="color:#ffffff">e</span><span style="color:#ffffff">));</span><span style="color:#ffffff">}</span><span style="color:#ffffff">});</span>
<span style="color:#ffffff">}</span></code></span></span>

uni-app使用plus注意事项

onBLEConnectionStateChange

监听低功耗蓝牙设备连接状态变化事件

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#f0e68c"><strong>void</strong></span><span style="color:#ffffff"> plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">bluetooth</span><span style="color:#ffffff">.</span><span style="color:#ffffff">onBLEConnectionStateChange</span><span style="color:#ffffff">(</span><span style="color:#ffffff">callback</span><span style="color:#ffffff">);</span></code></span></span>

说明:

包括开发者主动连接或断开连接,设备丢失,连接异常断开等。

参数:

  • callback: ( BLEConnectionStateChangeCallback ) 必选 连接状态变化回调函数

    回调函数参数event对象包括以下属性: deviceId - String类型,蓝牙设备id; connected - Boolean类型,是否处于已连接状态。

返回值:

void : 无

示例:

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#87ceeb">// 监听蓝牙设备连接状态</span>
<span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff"> listenerConnection</span><span style="color:#ffffff">(){</span><span style="color:#ffffff">plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">bluetooth</span><span style="color:#ffffff">.</span><span style="color:#ffffff">onBLEConnectionStateChange</span><span style="color:#ffffff">(</span><span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff">(</span><span style="color:#ffffff">e</span><span style="color:#ffffff">){</span><span style="color:#ffffff">console</span><span style="color:#ffffff">.</span><span style="color:#ffffff">log</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">'connection state changed: '</span><span style="color:#ffffff">+</span><span style="color:#ffffff">JSON</span><span style="color:#ffffff">.</span><span style="color:#ffffff">stringify</span><span style="color:#ffffff">(</span><span style="color:#ffffff">e</span><span style="color:#ffffff">));</span><span style="color:#ffffff">});</span>
<span style="color:#ffffff">}</span></code></span></span>

uni-app使用plus注意事项

readBLECharacteristicValue

读取低功耗蓝牙设备指定特征值的二进制数据值

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#f0e68c"><strong>void</strong></span><span style="color:#ffffff"> plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">bluetooth</span><span style="color:#ffffff">.</span><span style="color:#ffffff">readBLECharacteristicValue</span><span style="color:#ffffff">(</span><span style="color:#ffffff">options</span><span style="color:#ffffff">);</span></code></span></span>

说明:

指定的特征值需支持read操作才可以成功调用。 并行调用多次可能导致读取失败,读取的数据需要在onBLECharacteristicValueChange方法注册的回调中获取。

参数:

options参数为json类型,包含以下属性:

  • deviceId: ( String ) 必选 蓝牙设备的id
  • serviceId: ( String ) 必选 蓝牙服务的uuid
  • characteristicId: ( String ) 必选 蓝牙特征值的uuid
  • success: ( BluetoothSuccessCallback ) 可选 读取特征值的二进制数据成功回调函数
  • fail: ( BluetoothFailCallback ) 可选 读取特征值的二进制数据失败回调函数
  • complete: ( BluetoothCompleteCallback ) 可选 读取特征值的二进制数据操作完成回调函数

    调用成功或失败都会触发此回调。

返回值:

void : 无

示例:

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#87ceeb">// 蓝牙设备id,可通过onBluetoothDeviceFound方法获取</span>
<span style="color:#f0e68c"><strong>var</strong></span><span style="color:#ffffff"> deviceId </span><span style="color:#ffffff">=</span> <span style="color:#ffa0a0">''</span><span style="color:#ffffff">;</span>
<span style="color:#87ceeb">// 蓝牙服务id,可通过getBLEDeviceServices方法获取</span>
<span style="color:#f0e68c"><strong>var</strong></span><span style="color:#ffffff"> serviceId </span><span style="color:#ffffff">=</span> <span style="color:#ffa0a0">''</span><span style="color:#ffffff">;</span>
<span style="color:#87ceeb">// 蓝牙特征值id,可通过getBLEDeviceCharacteristics方法获取</span>
<span style="color:#f0e68c"><strong>var</strong></span><span style="color:#ffffff"> characteristicId </span><span style="color:#ffffff">=</span> <span style="color:#ffa0a0">''</span><span style="color:#ffffff">;</span>
<span style="color:#87ceeb">// 读取低功耗蓝牙设备的特征值</span>
<span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff"> readCharacteristics</span><span style="color:#ffffff">(){</span><span style="color:#ffffff">plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">bluetooth</span><span style="color:#ffffff">.</span><span style="color:#ffffff">readBLECharacteristicValue</span><span style="color:#ffffff">({</span><span style="color:#ffffff">deviceId</span><span style="color:#ffffff">:</span><span style="color:#ffffff">deviceId</span><span style="color:#ffffff">,</span><span style="color:#ffffff">serviceId</span><span style="color:#ffffff">:</span><span style="color:#ffffff">serviceId</span><span style="color:#ffffff">,</span><span style="color:#ffffff">characteristicId</span><span style="color:#ffffff">:</span><span style="color:#ffffff">characteristicId</span><span style="color:#ffffff">,</span><span style="color:#ffffff">success</span><span style="color:#ffffff">:</span><span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff">(</span><span style="color:#ffffff">e</span><span style="color:#ffffff">){</span><span style="color:#ffffff">console</span><span style="color:#ffffff">.</span><span style="color:#ffffff">log</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">'read characteristics success: '</span><span style="color:#ffffff">+</span><span style="color:#ffffff">JSON</span><span style="color:#ffffff">.</span><span style="color:#ffffff">stringify</span><span style="color:#ffffff">(</span><span style="color:#ffffff">e</span><span style="color:#ffffff">));</span><span style="color:#ffffff">},</span><span style="color:#ffffff">fail</span><span style="color:#ffffff">:</span><span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff">(</span><span style="color:#ffffff">e</span><span style="color:#ffffff">){</span><span style="color:#ffffff">console</span><span style="color:#ffffff">.</span><span style="color:#ffffff">log</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">'read characteristics failed: '</span><span style="color:#ffffff">+</span><span style="color:#ffffff">JSON</span><span style="color:#ffffff">.</span><span style="color:#ffffff">stringify</span><span style="color:#ffffff">(</span><span style="color:#ffffff">e</span><span style="color:#ffffff">));</span><span style="color:#ffffff">}</span><span style="color:#ffffff">});</span>
<span style="color:#ffffff">}</span></code></span></span>

uni-app使用plus注意事项

writeBLECharacteristicValue

向低功耗蓝牙设备指定特征值写入二进制数据

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#f0e68c"><strong>void</strong></span><span style="color:#ffffff"> plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">bluetooth</span><span style="color:#ffffff">.</span><span style="color:#ffffff">writeBLECharacteristicValue</span><span style="color:#ffffff">(</span><span style="color:#ffffff">options</span><span style="color:#ffffff">);</span></code></span></span>

说明:

指定的特征值需支持write操作才可以成功调用。 并行调用多次可能导致读取失败,系统可能会限制单次传输的数据大小,超过最大字节数后可能会发生写入错误,建议每次写入不超过20字节。

参数:

options参数为json类型,包含以下属性:

  • deviceId: ( String ) 必选 蓝牙设备的id
  • serviceId: ( String ) 必选 蓝牙服务的uuid
  • characteristicId: ( String ) 必选 蓝牙特征值的uuid
  • value: ( ArrayBuffer ) 必选 要写入的数据

    写入到蓝牙设备指定特征值中的二进制值。

  • success: ( BluetoothSuccessCallback ) 可选 读取特征值的二进制数据成功回调函数
  • fail: ( BluetoothFailCallback ) 可选 读取特征值的二进制数据失败回调函数
  • complete: ( BluetoothCompleteCallback ) 可选 读取特征值的二进制数据操作完成回调函数

    调用成功或失败都会触发此回调。

返回值:

void : 无

示例:

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#87ceeb">// 蓝牙设备id,可通过onBluetoothDeviceFound方法获取</span>
<span style="color:#f0e68c"><strong>var</strong></span><span style="color:#ffffff"> deviceId </span><span style="color:#ffffff">=</span> <span style="color:#ffa0a0">''</span><span style="color:#ffffff">;</span>
<span style="color:#87ceeb">// 蓝牙服务id,可通过getBLEDeviceServices方法获取</span>
<span style="color:#f0e68c"><strong>var</strong></span><span style="color:#ffffff"> serviceId </span><span style="color:#ffffff">=</span> <span style="color:#ffa0a0">''</span><span style="color:#ffffff">;</span>
<span style="color:#87ceeb">// 蓝牙特征值id,可通过getBLEDeviceCharacteristics方法获取</span>
<span style="color:#f0e68c"><strong>var</strong></span><span style="color:#ffffff"> characteristicId </span><span style="color:#ffffff">=</span> <span style="color:#ffa0a0">''</span><span style="color:#ffffff">;</span>
<span style="color:#87ceeb">// 要写入的数据</span>
<span style="color:#f0e68c"><strong>var</strong></span><span style="color:#ffffff"> value </span><span style="color:#ffffff">=</span> <span style="color:#f0e68c"><strong>new</strong></span> <span style="color:#98fb98">ArrayBuffer</span><span style="color:#ffffff">(</span><span style="color:#cd5c5c">8</span><span style="color:#ffffff">);</span>
<span style="color:#f0e68c"><strong>var</strong></span><span style="color:#ffffff"> iv </span><span style="color:#ffffff">=</span> <span style="color:#f0e68c"><strong>new</strong></span> <span style="color:#98fb98">Int32Array</span><span style="color:#ffffff">(</span><span style="color:#ffffff">value</span><span style="color:#ffffff">);</span><span style="color:#ffffff">
iv</span><span style="color:#ffffff">[</span><span style="color:#cd5c5c">0</span><span style="color:#ffffff">]</span> <span style="color:#ffffff">=</span> <span style="color:#cd5c5c">120</span><span style="color:#ffffff">,</span><span style="color:#ffffff"> iv</span><span style="color:#ffffff">[</span><span style="color:#cd5c5c">2</span><span style="color:#ffffff">]=</span><span style="color:#cd5c5c">100</span><span style="color:#ffffff">;</span>
<span style="color:#87ceeb">// 写入低功耗蓝牙设备的特征值</span>
<span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff"> writeCharacteristics</span><span style="color:#ffffff">(){</span><span style="color:#ffffff">plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">bluetooth</span><span style="color:#ffffff">.</span><span style="color:#ffffff">writeBLECharacteristicValue</span><span style="color:#ffffff">({</span><span style="color:#ffffff">deviceId</span><span style="color:#ffffff">:</span><span style="color:#ffffff">deviceId</span><span style="color:#ffffff">,</span><span style="color:#ffffff">serviceId</span><span style="color:#ffffff">:</span><span style="color:#ffffff">serviceId</span><span style="color:#ffffff">,</span><span style="color:#ffffff">characteristicId</span><span style="color:#ffffff">:</span><span style="color:#ffffff">characteristicId</span><span style="color:#ffffff">,</span><span style="color:#ffffff">value</span><span style="color:#ffffff">:</span><span style="color:#ffffff">value</span><span style="color:#ffffff">,</span><span style="color:#ffffff">success</span><span style="color:#ffffff">:</span><span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff">(</span><span style="color:#ffffff">e</span><span style="color:#ffffff">){</span><span style="color:#ffffff">console</span><span style="color:#ffffff">.</span><span style="color:#ffffff">log</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">'write characteristics success: '</span><span style="color:#ffffff">+</span><span style="color:#ffffff">JSON</span><span style="color:#ffffff">.</span><span style="color:#ffffff">stringify</span><span style="color:#ffffff">(</span><span style="color:#ffffff">e</span><span style="color:#ffffff">));</span><span style="color:#ffffff">},</span><span style="color:#ffffff">fail</span><span style="color:#ffffff">:</span><span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff">(</span><span style="color:#ffffff">e</span><span style="color:#ffffff">){</span><span style="color:#ffffff">console</span><span style="color:#ffffff">.</span><span style="color:#ffffff">log</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">'write characteristics failed: '</span><span style="color:#ffffff">+</span><span style="color:#ffffff">JSON</span><span style="color:#ffffff">.</span><span style="color:#ffffff">stringify</span><span style="color:#ffffff">(</span><span style="color:#ffffff">e</span><span style="color:#ffffff">));</span><span style="color:#ffffff">}</span><span style="color:#ffffff">});</span>
<span style="color:#ffffff">}</span></code></span></span>

uni-app使用plus注意事项

BluetoothDeviceInfo

蓝牙设备信息

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#f0e68c"><strong>interface</strong></span> <span style="color:#98fb98">BluetoothDeviceInfo</span> <span style="color:#ffffff">{</span><span style="color:#f0e68c"><strong>readonly</strong></span><span style="color:#ffffff"> attribute </span><span style="color:#98fb98">String</span><span style="color:#ffffff"> name</span><span style="color:#ffffff">;</span><span style="color:#f0e68c"><strong>readonly</strong></span><span style="color:#ffffff"> attribute </span><span style="color:#98fb98">String</span><span style="color:#ffffff"> deviceId</span><span style="color:#ffffff">;</span><span style="color:#f0e68c"><strong>readonly</strong></span><span style="color:#ffffff"> attribute </span><span style="color:#98fb98">Number</span><span style="color:#ffffff"> RSSI</span><span style="color:#ffffff">;</span><span style="color:#f0e68c"><strong>readonly</strong></span><span style="color:#ffffff"> attribute </span><span style="color:#98fb98">ArrayBuffer</span><span style="color:#ffffff"> advertisData</span><span style="color:#ffffff">;</span><span style="color:#f0e68c"><strong>readonly</strong></span><span style="color:#ffffff"> attribute </span><span style="color:#98fb98">Array</span><span style="color:#ffffff"><</span><span style="color:#98fb98">String</span><span style="color:#ffffff">></span><span style="color:#ffffff"> advertisServiceUUIDs</span><span style="color:#ffffff">;</span><span style="color:#f0e68c"><strong>readonly</strong></span><span style="color:#ffffff"> attribute </span><span style="color:#98fb98">String</span><span style="color:#ffffff"> localName</span><span style="color:#ffffff">;</span><span style="color:#f0e68c"><strong>readonly</strong></span><span style="color:#ffffff"> attribute JSON serviceData</span><span style="color:#ffffff">;</span>
<span style="color:#ffffff">}</span>         </code></span></span>

属性:

  • name: (String 类型 )蓝牙设备名称

    某些设备可能没有此字段值。

  • deviceId: (String 类型 )蓝牙设备的id
  • RSSI: (Number 类型 )蓝牙设备的信号强度
  • advertisData: (ArrayBuffer 类型 )蓝牙设备的广播数据段中的ManufacturerData数据段
  • advertisServiceUUIDs: (Array[String] 类型 )蓝牙设备的广播数据段中的ServiceUUIDs数据段
  • localName: (String 类型 )蓝牙设备的广播数据段中的LocalName数据段
  • serviceData: (JSON 类型 )蓝牙设备的广播数据段中的ServiceData数据段

BluetoothService

蓝牙设备服务信息

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#f0e68c"><strong>interface</strong></span> <span style="color:#98fb98">BluetoothService</span> <span style="color:#ffffff">{</span><span style="color:#f0e68c"><strong>readonly</strong></span><span style="color:#ffffff"> attribute </span><span style="color:#98fb98">String</span><span style="color:#ffffff"> uuid</span><span style="color:#ffffff">;</span><span style="color:#f0e68c"><strong>readonly</strong></span><span style="color:#ffffff"> attribute </span><span style="color:#98fb98">Boolean</span><span style="color:#ffffff"> isPrimary</span><span style="color:#ffffff">;</span>
<span style="color:#ffffff">}</span>         </code></span></span>

属性:

  • uuid: (String 类型 )蓝牙设备服务的uuid
  • isPrimary: (Boolean 类型 )是否为设备的主服务

Bluetoothcharacteristic

蓝牙设备特征值

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#f0e68c"><strong>interface</strong></span> <span style="color:#98fb98">Bluetoothcharacteristic</span> <span style="color:#ffffff">{</span><span style="color:#f0e68c"><strong>readonly</strong></span><span style="color:#ffffff"> attribute </span><span style="color:#98fb98">String</span><span style="color:#ffffff"> uuid</span><span style="color:#ffffff">;</span><span style="color:#f0e68c"><strong>readonly</strong></span><span style="color:#ffffff"> attribute </span><span style="color:#98fb98">BluetoothcharacteristicProperties</span><span style="color:#ffffff"> properties</span><span style="color:#ffffff">;</span>
<span style="color:#ffffff">}</span>         </code></span></span>

属性:

  • uuid: (String 类型 )蓝牙设备特征值的uuid
  • properties: (BluetoothcharacteristicProperties 类型 )设备特征值支持的操作类型

BluetoothcharacteristicProperties

蓝牙设备特征值支持的操作类型

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#f0e68c"><strong>interface</strong></span> <span style="color:#98fb98">BluetoothcharacteristicProperties</span> <span style="color:#ffffff">{</span><span style="color:#f0e68c"><strong>readonly</strong></span><span style="color:#ffffff"> attribute </span><span style="color:#98fb98">Boolean</span><span style="color:#ffffff"> read</span><span style="color:#ffffff">;</span><span style="color:#f0e68c"><strong>readonly</strong></span><span style="color:#ffffff"> attribute </span><span style="color:#98fb98">Boolean</span><span style="color:#ffffff"> write</span><span style="color:#ffffff">;</span><span style="color:#f0e68c"><strong>readonly</strong></span><span style="color:#ffffff"> attribute </span><span style="color:#98fb98">Boolean</span><span style="color:#ffffff"> notify</span><span style="color:#ffffff">;</span><span style="color:#f0e68c"><strong>readonly</strong></span><span style="color:#ffffff"> attribute </span><span style="color:#98fb98">Boolean</span><span style="color:#ffffff"> indicate</span><span style="color:#ffffff">;</span>
<span style="color:#ffffff">}</span>         </code></span></span>

属性:

  • read: (Boolean 类型 )特征值是否支持read操作
  • write: (Boolean 类型 )特征值是否支持write操作
  • notify: (Boolean 类型 )特征值是否支持notify操作
  • indicate: (Boolean 类型 )特征值是否支持indicate操作

BluetoothSuccessCallback

成功回调函数

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#f0e68c"><strong>void</strong></span><span style="color:#ffffff"> onSuccess</span><span style="color:#ffffff">(</span><span style="color:#98fb98">Object</span> <span style="color:#f0e68c"><strong>event</strong></span><span style="color:#ffffff">){</span>
<span style="color:#ffffff">}</span></code></span></span>

说明:

不同接口触发的成功回调参数event包含的属性存在差异,具体参考对应的接口描述说明。

参数:

  • event: ( Object ) 必选 回调参数

    回调参数包含的属性由调用接口决定,具体参考对应的接口描述说明。

返回值:

void : 无

BluetoothFailCallback

失败回调函数

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#f0e68c"><strong>function</strong></span> <span style="color:#f0e68c"><strong>void</strong></span><span style="color:#ffffff"> onFail</span><span style="color:#ffffff">(</span><span style="color:#98fb98">Exception</span><span style="color:#ffffff"> error</span><span style="color:#ffffff">){</span><span style="color:#87ceeb">// Handle error</span><span style="color:#f0e68c"><strong>var</strong></span><span style="color:#ffffff"> code </span><span style="color:#ffffff">=</span><span style="color:#ffffff"> error</span><span style="color:#ffffff">.</span><span style="color:#ffffff">code</span><span style="color:#ffffff">;</span> <span style="color:#87ceeb">// 错误编码</span><span style="color:#f0e68c"><strong>var</strong></span><span style="color:#ffffff"> message </span><span style="color:#ffffff">=</span><span style="color:#ffffff"> error</span><span style="color:#ffffff">.</span><span style="color:#ffffff">message</span><span style="color:#ffffff">;</span> <span style="color:#87ceeb">// 错误描述信息</span>
<span style="color:#ffffff">}</span></code></span></span>

参数:

  • error: ( Exception ) 必选 回调参数,错误信息

    可通过error.code(Number类型)获取错误编码; 可通过error.message(String类型)获取错误描述信息。

返回值:

void : 无

BluetoothCompleteCallback

操作完成回调函数

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#f0e68c"><strong>function</strong></span> <span style="color:#f0e68c"><strong>void</strong></span><span style="color:#ffffff"> onComplete</span><span style="color:#ffffff">(</span><span style="color:#98fb98">Object</span> <span style="color:#f0e68c"><strong>event</strong></span><span style="color:#ffffff">){</span>
<span style="color:#ffffff">}</span></code></span></span>

说明:

调用成功或失败都会触发此回调。

参数:

  • event: ( Object ) 可选 回调参数

    调用成功时回调参数与BluetoothSuccessCallback一致,调用失败时回调参数与BluetoothFailCallback一致。

返回值:

void : 无

BluetoothAdapterStateChangeCallback

蓝牙适配器状态变化事件回调函数

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#f0e68c"><strong>function</strong></span> <span style="color:#f0e68c"><strong>void</strong></span><span style="color:#ffffff"> onStateChange</span><span style="color:#ffffff">(</span><span style="color:#98fb98">Object</span> <span style="color:#f0e68c"><strong>event</strong></span><span style="color:#ffffff">){</span><span style="color:#87ceeb">// event.available</span><span style="color:#87ceeb">// event.discovering</span>
<span style="color:#ffffff">}</span></code></span></span>

说明:

蓝牙适配器状态发生变化时触发此回调。

参数:

  • event: ( Object ) 可选 返回参数

    回调函数参数event对象包括以下属性: available - Boolean,蓝牙适配器是否可用; discovering - Boolean,蓝牙适配器是否处于搜索状态。

返回值:

void : 无

BluetoothDeviceFoundCallback

蓝牙适配器搜索到新设备事件回调函数

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#f0e68c"><strong>function</strong></span> <span style="color:#f0e68c"><strong>void</strong></span><span style="color:#ffffff"> onDeviceFound</span><span style="color:#ffffff">(</span><span style="color:#98fb98">Object</span> <span style="color:#f0e68c"><strong>event</strong></span><span style="color:#ffffff">){</span><span style="color:#87ceeb">// event.devices</span>
<span style="color:#ffffff">}</span></code></span></span>

说明:

搜索到蓝牙设备时触发此回调。

参数:

  • event: ( Object ) 可选 返回参数

    回调函数参数event对象包括以下属性: devices - Array<BluetoothDeviceInfo>,设备列表信息。

返回值:

void : 无

BluetoothDeviceRSSICallback

获取蓝牙设备信号强度成功回调函数

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#f0e68c"><strong>function</strong></span> <span style="color:#f0e68c"><strong>void</strong></span><span style="color:#ffffff"> onDeviceRSSI</span><span style="color:#ffffff">(</span><span style="color:#98fb98">Object</span> <span style="color:#f0e68c"><strong>event</strong></span><span style="color:#ffffff">){</span><span style="color:#87ceeb">// event.RSSI</span>
<span style="color:#ffffff">}</span></code></span></span>

说明:

获取蓝牙设备信号强度时触发此回调。

参数:

  • event: ( Object ) 可选 返回参数

    回调函数参数event对象包括以下属性: RSSI - Number,信号强度。

返回值:

void : 无

BLEConnectionStateChangeCallback

低功耗蓝牙设备连接状态变化事件回调函数

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#f0e68c"><strong>function</strong></span> <span style="color:#f0e68c"><strong>void</strong></span><span style="color:#ffffff"> onStateChange</span><span style="color:#ffffff">(</span><span style="color:#98fb98">Object</span> <span style="color:#f0e68c"><strong>event</strong></span><span style="color:#ffffff">){</span><span style="color:#87ceeb">// event.deviceId</span><span style="color:#87ceeb">// event.connected</span>
<span style="color:#ffffff">}</span></code></span></span>

说明:

蓝牙设备连接状态发生变化时触发此回调。

参数:

  • event: ( Object ) 可选 返回参数

    回调函数参数event对象包括以下属性: deviceId - String类型,蓝牙设备id; connected - Boolean类型,是否处于已连接状态。

返回值:

void : 无

BLECharacteristicValueChangeCallback

低功耗蓝牙设备的特征值变化事件回调函数

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#f0e68c"><strong>function</strong></span> <span style="color:#f0e68c"><strong>void</strong></span><span style="color:#ffffff"> onValueChange</span><span style="color:#ffffff">(</span><span style="color:#98fb98">Object</span> <span style="color:#f0e68c"><strong>event</strong></span><span style="color:#ffffff">){</span><span style="color:#87ceeb">// event.deviceId</span><span style="color:#87ceeb">// event.serviceId</span><span style="color:#87ceeb">// event.characteristicId</span><span style="color:#87ceeb">// event.value</span>
<span style="color:#ffffff">}</span></code></span></span>

说明:

蓝牙设备对应的特征值发生变化时触发此回调。

参数:

  • event: ( Object ) 可选 返回参数

    回调函数参数event对象包括以下属性: deviceId - String类型,蓝牙设备id; serviceId - String类型,蓝牙服务的uuid; characteristicId - String类型,蓝牙特征值的uuid; value - ArrayBuffer类型,特征值的最新值。

返回值:

void : 无

Bluetooth模块用于管理蓝牙设备,搜索附近蓝牙设备、实现简单数据传输相关推荐

  1. android Ble4.0蓝牙开发之搜索慢、startLeScan()过时,6.0以上不需要定位权限也能快速搜索到蓝牙设备

    项目中需要用到android Ble蓝牙4.0开发技术,于是开启了蓝牙填坑之旅,说实话,蓝牙开发坑真多,跳出一个又进入下一个,每次遇到 问题,就觉得不可能解决了,还好在自己的摸索中,都一一的化解了,以 ...

  2. 安卓APP蓝牙上位机的编写二——搜索附近蓝牙设备

    安卓APP蓝牙上位机的编写二--搜索附近蓝牙设备 前言 搜索已经配对的蓝牙 搜索附近所有的蓝牙设备 安卓APP蓝牙上位机的编写一--APP结构 前言 传统蓝牙即蓝牙2.0以及之前的版本,功耗较高不能满 ...

  3. Android开发之蓝牙(Bluetooth)操作(一)--扫描已经配对的蓝牙设备

    版权声明:本文为博主原创文章,未经博主允许不得转载. 一. 什么是蓝牙(Bluetooth)? 1.1  BuleTooth是目前使用最广泛的无线通信协议 1.2  主要针对短距离设备通讯(10m) ...

  4. 微信小程序进行蓝牙初始化、搜索附近蓝牙设备及连接指定蓝牙(一)

    前言: 微信小程序搜索附近蓝牙设备,必须先进行蓝牙初始化,初始化ok进行搜索附近蓝牙设备.连接指定蓝牙需要deviceId(硬件通过at指令可以查看deviceId) 准备工作: 软件:微信小程序 硬 ...

  5. android开发蓝牙是否可见开关_android开发之蓝牙初步 扫描已配对蓝牙、更改蓝牙可见性、搜索外部蓝牙设备 | 学步园...

    这两天我学习了android蓝牙的一些简单操作,今天和大家分享一下. 一,获得BluetoothAdapter对象 BluetoothAdapter adapter = BluetoothAdapte ...

  6. Android Bluetooth模块学习笔记

    一.蓝牙基础知识 1.蓝牙( Bluetooth )是一种无线技术标准,可实现固定设备.移动设备和楼宇个人域网之间的短距离数据交换.蓝牙基于设备低成本的收发器芯片,传输距离近.低功耗. 2.微波频段: ...

  7. android bluetooth——蓝牙的开启、搜索、配对与连接

    android 的blt仅仅支持api 18 android4.3以上,有的功能甚至需要api 19 android4.4: 所以我们在做blt项目之前一定要清楚可用的版本范围. 我要讲述的是打开bl ...

  8. 微服务java模块内存管理_Java 9模块服务

    微服务java模块内存管理 接线与查找 Java长期以来都有一个ServiceLoader类. 它是在1.6中引入的,但是自Java 1.2以来就使用了类似的技术. 一些软件组件使用了它,但是使用并不 ...

  9. 用于管理虚拟环境的 Python 工具

    用于管理虚拟环境的 Python 工具 Python 虚拟环境是"一个自包含的目录树,其中包含特定版本 Python 的 Python 安装,以及许多附加包"(来自官方文档的引用) ...

最新文章

  1. android中PreferencesActivity的使用(一)
  2. 自调用匿名函数(匿名闭包)解析与调用
  3. 做个游戏:设计代码生成特定的调用堆栈
  4. [转]开发者需要了解的WebKit(mark)
  5. CSS魔法堂:说说Float那个被埋没的志向
  6. 借助 CORS 从 JavaScript 使用 API 应用
  7. 自如回应南京租客事件:未对该房源进行过装修 配置的家具符合规定
  8. 不用找,你想要的建筑园林3d模型素材都在这里
  9. kindle安装插件和koreader
  10. 《中国历史2000问》读后笔记
  11. 勾股定理,西方称为毕达哥拉斯定理
  12. SAP ABAP MOVE 及 CORRESPONDING 7.4版本新用法
  13. 冰雪之冠上的明珠与东方明珠 辉映在黄浦江两岸
  14. iOS程序猿的flutter学习之路
  15. 苹果x用安兔兔测试html5,安兔兔跑分23万,苹果iPhone X怎么样?
  16. 算法题的几种常见解题思路
  17. jq div拖动(移动端和pc端)
  18. 我看好金融IT业的几个理由
  19. 十年磨一剑,霜刃未曾试(纪念最爱——加内特)
  20. 抽象类及抽象方法作用

热门文章

  1. 为什么区分LHS和RHS?
  2. 烽火通信C语言笔试题:牛市区间问题
  3. C语言sopc蜂鸣器按键弹奏中音,SOPC乐曲演奏大作业.doc
  4. 【RK3288 Android 7.1 / KEN】双屏异显流程
  5. 百度一键Root使用教程
  6. ubuntu连不上校园网
  7. html多级列表不连续如何显示,完美解决word多级列表的编号不显示问题
  8. centos7配置 console口_7.5. Configuring the Linux Console
  9. 邮件服务中550、553和禁止中继错误原因和解决方法
  10. 除了 Websocket ,服务端还有什么办法能向浏览器主动推送信息?