| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373 | <!DOCTYPE HTML><html><head><meta charset="utf-8"><meta name="viewport" content="initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no"><meta name="HandheldFriendly" content="true"><meta name="MobileOptimized" content="320"><title>Bluetooth Document</title><link rel="stylesheet" type="text/css" href="res/doc.css" charset="utf-8"><link rel="stylesheet" type="text/css" href="res/prettify.sons.css" charset="utf-8"><script type="text/javascript" src="res/doc.js" charset="utf-8"></script><script type="text/javascript" src="res/prettify.js" charset="utf-8"></script></head><body><div id="content" class="content"><h1><a name="plus.bluetooth">bluetooth</a></h1><p>Bluetooth模块用于管理蓝牙设备,搜索附近蓝牙设备、实现简单数据传输等。</p><h2>方法:</h2><ul><li><a href="#plus.bluetooth.closeBluetoothAdapter">closeBluetoothAdapter</a>: 关闭蓝牙模块</li><li><a href="#plus.bluetooth.getBluetoothAdapterState">getBluetoothAdapterState</a>: 获取本机蓝牙适配器状态</li><li><a href="#plus.bluetooth.getBluetoothDevices">getBluetoothDevices</a>: 获取已搜索到的蓝牙设备</li><li><a href="#plus.bluetooth.getConnectedBluetoothDevices">getConnectedBluetoothDevices</a>: 根据uuid获取处于已连接的设备</li><li><a href="#plus.bluetooth.onBluetoothAdapterStateChange">onBluetoothAdapterStateChange</a>: 监听蓝牙适配器状态变化事件</li><li><a href="#plus.bluetooth.onBluetoothDeviceFound">onBluetoothDeviceFound</a>: 监听搜索到新设备的事件</li><li><a href="#plus.bluetooth.openBluetoothAdapter">openBluetoothAdapter</a>: 初始化蓝牙模块</li><li><a href="#plus.bluetooth.startBluetoothDevicesDiscovery">startBluetoothDevicesDiscovery</a>: 开始搜索附近的蓝牙设备</li><li><a href="#plus.bluetooth.stopBluetoothDevicesDiscovery">stopBluetoothDevicesDiscovery</a>: 停止搜寻附近的蓝牙外围设备</li><li><a href="#plus.bluetooth.closeBLEConnection">closeBLEConnection</a>: 断开与低功耗蓝牙设备的连接</li><li><a href="#plus.bluetooth.createBLEConnection">createBLEConnection</a>: 连接低功耗蓝牙设备</li><li><a href="#plus.bluetooth.getBLEDeviceCharacteristics">getBLEDeviceCharacteristics</a>: 获取蓝牙设备指定服务中所有特征值(characteristic)</li><li><a href="#plus.bluetooth.getBLEDeviceServices">getBLEDeviceServices</a>: 获取蓝牙设备的所有服务(service)</li><li><a href="#plus.bluetooth.notifyBLECharacteristicValueChange">notifyBLECharacteristicValueChange</a>: 启用低功耗蓝牙设备特征值变化时的notify功能,订阅特征值</li><li><a href="#plus.bluetooth.onBLECharacteristicValueChange">onBLECharacteristicValueChange</a>: 监听低功耗蓝牙设备的特征值变化事件</li><li><a href="#plus.bluetooth.onBLEConnectionStateChange">onBLEConnectionStateChange</a>: 监听低功耗蓝牙设备连接状态变化事件</li><li><a href="#plus.bluetooth.readBLECharacteristicValue">readBLECharacteristicValue</a>: 读取低功耗蓝牙设备指定特征值的二进制数据值</li><li><a href="#plus.bluetooth.writeBLECharacteristicValue">writeBLECharacteristicValue</a>: 向低功耗蓝牙设备指定特征值写入二进制数据</li></ul><h2>对象:</h2><ul><li><a href="#plus.bluetooth.BluetoothDeviceInfo">BluetoothDeviceInfo</a>: 蓝牙设备信息</li><li><a href="#plus.bluetooth.BluetoothService">BluetoothService</a>: 蓝牙设备服务信息</li><li><a href="#plus.bluetooth.Bluetoothcharacteristic">Bluetoothcharacteristic</a>: 蓝牙设备特征值</li><li><a href="#plus.bluetooth.BluetoothcharacteristicProperties">BluetoothcharacteristicProperties</a>: 蓝牙设备特征值支持的操作类型</li></ul><h2>回调方法:</h2><ul><li><a href="#plus.bluetooth.BluetoothSuccessCallback">BluetoothSuccessCallback</a>: 成功回调函数</li><li><a href="#plus.bluetooth.BluetoothFailCallback">BluetoothFailCallback</a>: 失败回调函数</li><li><a href="#plus.bluetooth.BluetoothCompleteCallback">BluetoothCompleteCallback</a>: 操作完成回调函数</li><li><a href="#plus.bluetooth.BluetoothAdapterStateChangeCallback">BluetoothAdapterStateChangeCallback</a>: 蓝牙适配器状态变化事件回调函数</li><li><a href="#plus.bluetooth.BluetoothDeviceFoundCallback">BluetoothDeviceFoundCallback</a>: 蓝牙适配器搜索到新设备事件回调函数</li><li><a href="#plus.bluetooth.BLEConnectionStateChangeCallback">BLEConnectionStateChangeCallback</a>: 低功耗蓝牙设备连接状态变化事件回调函数</li><li><a href="#plus.bluetooth.BLECharacteristicValueChangeCallback">BLECharacteristicValueChangeCallback</a>: 低功耗蓝牙设备的特征值变化事件回调函数</li></ul><h2>权限:</h2><p>5+功能模块(permissions)</p><pre class="prettyprint linenums">{// ..."permissions":{	// ...	"Bluetooth": {		"description": "Bluetooth"	}}}			</pre><h1><a name="plus.bluetooth.BluetoothDeviceInfo">BluetoothDeviceInfo</a></h1><p>蓝牙设备信息</p><pre class="prettyprint linenums">interface BluetoothDeviceInfo {	readonly attribute String name;	readonly attribute String deviceId;	readonly attribute String RSSI;	readonly attribute ArrayBuffer advertisData;	readonly attribute Array<String> advertisServiceUUIDs;	readonly attribute String localName;	readonly attribute JSON serviceData;}							</pre><h2>属性:</h2><ul><li>name: <em>(<font class="type">String</font>	类型)</em>蓝牙设备名称<br><p>	某些设备可能没有此字段值。						</p></li><li>deviceId: <em>(<font class="type">String</font>	类型)</em>蓝牙设备的id<br></li><li>RSSI: <em>(<font class="type">String</font>	类型)</em>蓝牙设备的信号强度<br></li><li>advertisData: <em>(<font class="type">ArrayBuffer</font>	类型)</em>蓝牙设备的广播数据段中的ManufacturerData数据段<br></li><li>advertisServiceUUIDs: <em>(<font class="type">Array</font>[				<font class="type">String</font>				]				类型)</em>蓝牙设备的广播数据段中的ServiceUUIDs数据段<br></li><li>localName: <em>(<font class="type">String</font>	类型)</em>蓝牙设备的广播数据段中的LocalName数据段<br></li><li>serviceData: <em>(<font class="type">JSON</font>	类型)</em>蓝牙设备的广播数据段中的ServiceData数据段<br></li></ul><h1><a name="plus.bluetooth.BluetoothService">BluetoothService</a></h1><p>蓝牙设备服务信息</p><pre class="prettyprint linenums">interface BluetoothService {	readonly attribute String uuid;	readonly attribute Boolean isPrimary;}							</pre><h2>属性:</h2><ul><li>uuid: <em>(<font class="type">String</font>	类型)</em>蓝牙设备服务的uuid<br></li><li>isPrimary: <em>(<font class="type">Boolean</font>	类型)</em>是否为设备的主服务<br></li></ul><h1><a name="plus.bluetooth.Bluetoothcharacteristic">Bluetoothcharacteristic</a></h1><p>蓝牙设备特征值</p><pre class="prettyprint linenums">interface Bluetoothcharacteristic {	readonly attribute String uuid;	readonly attribute BluetoothcharacteristicProperties properties;}							</pre><h2>属性:</h2><ul><li>uuid: <em>(<font class="type">String</font>	类型)</em>蓝牙设备特征值的uuid<br></li><li>properties: <em>(<a href="#plus.bluetooth.BluetoothcharacteristicProperties">BluetoothcharacteristicProperties</a>	类型)</em>设备特征值支持的操作类型<br></li></ul><h1><a name="plus.bluetooth.BluetoothcharacteristicProperties">BluetoothcharacteristicProperties</a></h1><p>蓝牙设备特征值支持的操作类型</p><pre class="prettyprint linenums">interface BluetoothcharacteristicProperties {	readonly attribute Boolean read;	readonly attribute Boolean write;	readonly attribute Boolean notify;	readonly attribute Boolean indicate;}							</pre><h2>属性:</h2><ul><li>read: <em>(<font class="type">Boolean</font>	类型)</em>特征值是否支持read操作<br></li><li>write: <em>(<font class="type">Boolean</font>	类型)</em>特征值是否支持write操作<br></li><li>notify: <em>(<font class="type">Boolean</font>	类型)</em>特征值是否支持notify操作<br></li><li>indicate: <em>(<font class="type">Boolean</font>	类型)</em>特征值是否支持indicate操作<br></li></ul><h1><a name="plus.bluetooth.BluetoothSuccessCallback">BluetoothSuccessCallback</a></h1><p>成功回调函数</p><pre class="prettyprint linenums">void onSuccess(JSON event){}				</pre><h2>说明:</h2><p class="des">	不同接口触发的成功回调参数event包含的属性存在差异,具体参考对应的接口描述说明。				</p><h2>参数:</h2><ul><li>event: 		<em>(			<font class="type">JSON</font>			)			必选 </em>回调参数<br>	回调参数包含的属性由调用接口决定,具体参考对应的接口描述说明。						</li></ul><h2>返回值:</h2><font class="type">void</font>			: 无<h1><a name="plus.bluetooth.BluetoothFailCallback">BluetoothFailCallback</a></h1><p>失败回调函数</p><pre class="prettyprint linenums">function void onFail(Exception error){	// Handle error	var code = error.code; // 错误编码	var message = error.message; // 错误描述信息}				</pre><h2>参数:</h2><ul><li>error: 		<em>(			<font class="type">Exception</font>			)			必选 </em>回调参数,错误信息<br>	可通过error.code(Number类型)获取错误编码;	可通过error.message(String类型)获取错误描述信息。						</li></ul><h2>返回值:</h2><font class="type">void</font>			: 无<h1><a name="plus.bluetooth.BluetoothCompleteCallback">BluetoothCompleteCallback</a></h1><p>操作完成回调函数</p><pre class="prettyprint linenums">function void onComplete(JSON event){}				</pre><h2>说明:</h2><p class="des">	调用成功或失败都会触发此回调。				</p><h2>参数:</h2><ul><li>event: 		<em>(			<font class="type">JSON</font>			)			可选 </em>回调参数<br>	调用成功时回调参数与BluetoothSuccessCallback一致,调用失败时回调参数与BluetoothFailCallback一致。						</li></ul><h2>返回值:</h2><font class="type">void</font>			: 无<h1><a name="plus.bluetooth.BluetoothAdapterStateChangeCallback">BluetoothAdapterStateChangeCallback</a></h1><p>蓝牙适配器状态变化事件回调函数</p><pre class="prettyprint linenums">function void onStateChange(JSON event){	// event.available	// event.discovering}				</pre><h2>说明:</h2><p class="des">	蓝牙适配器状态发生变化时触发此回调。				</p><h2>参数:</h2><ul><li>event: 		<em>(			<font class="type">JSON</font>			)			可选 </em>返回参数<br>	回调函数参数event对象包括以下属性:		available - Boolean,蓝牙适配器是否可用;		discovering - Boolean,蓝牙适配器是否处于搜索状态。						</li></ul><h2>返回值:</h2><font class="type">void</font>			: 无<h1><a name="plus.bluetooth.BluetoothDeviceFoundCallback">BluetoothDeviceFoundCallback</a></h1><p>蓝牙适配器搜索到新设备事件回调函数</p><pre class="prettyprint linenums">function void onDeviceFound(JSON event){	// event.devices}				</pre><h2>说明:</h2><p class="des">	搜索到蓝牙设备时触发此回调。				</p><h2>参数:</h2><ul><li>event: 		<em>(			<font class="type">JSON</font>			)			可选 </em>返回参数<br>	回调函数参数event对象包括以下属性:		devices - Array<BluetoothDeviceInfo>,设备列表信息。						</li></ul><h2>返回值:</h2><font class="type">void</font>			: 无<h1><a name="plus.bluetooth.BLEConnectionStateChangeCallback">BLEConnectionStateChangeCallback</a></h1><p>低功耗蓝牙设备连接状态变化事件回调函数</p><pre class="prettyprint linenums">function void onStateChange(JSON event){	// event.deviceId	// event.connected}				</pre><h2>说明:</h2><p class="des">	蓝牙设备连接状态发生变化时触发此回调。				</p><h2>参数:</h2><ul><li>event: 		<em>(			<font class="type">JSON</font>			)			可选 </em>返回参数<br>	回调函数参数event对象包括以下属性:		deviceId - String类型,蓝牙设备id;		connected - Boolean类型,是否处于已连接状态。						</li></ul><h2>返回值:</h2><font class="type">void</font>			: 无<h1><a name="plus.bluetooth.BLECharacteristicValueChangeCallback">BLECharacteristicValueChangeCallback</a></h1><p>低功耗蓝牙设备的特征值变化事件回调函数</p><pre class="prettyprint linenums">function void onValueChange(JSON event){	// event.deviceId	// event.serviceId	// event.characteristicId	// event.value}				</pre><h2>说明:</h2><p class="des">	蓝牙设备对应的特征值发生变化时触发此回调。				</p><h2>参数:</h2><ul><li>event: 		<em>(			<font class="type">JSON</font>			)			可选 </em>返回参数<br>	回调函数参数event对象包括以下属性:		deviceId - String类型,蓝牙设备id;		serviceId - String类型,蓝牙服务的uuid;		characteristicId - String类型,蓝牙特征值的uuid;		value - ArrayBuffer类型,特征值的最新值。						</li></ul><h2>返回值:</h2><font class="type">void</font>			: 无<br><br></div></body></html>
 |