| 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>
 
 
  |