支付寶小程序藍(lán)牙 API列表

2018-10-10 15:28 更新

my.openBluetoothAdapter

初始化藍(lán)牙適配器。

入?yún)?/h3>
名稱 類型 必填 描述
autoClose Boolean 不傳的話默認(rèn)是true,表示是否在離開當(dāng)前頁(yè)面時(shí)自動(dòng)斷開藍(lán)牙(僅對(duì)android有效)
success Function 調(diào)用成功的回調(diào)函數(shù)
fail Function 調(diào)用失敗的回調(diào)函數(shù)
complete Function 調(diào)用結(jié)束的回調(diào)函數(shù)(調(diào)用成功、失敗都會(huì)執(zhí)行)

success 返回值

名稱 類型 描述
isSupportBLE Boolean 是否支持 BLE

錯(cuò)誤碼描述

error 描述
12 藍(lán)牙未打開
13 與系統(tǒng)服務(wù)的鏈接暫時(shí)丟失
14 未授權(quán)支付寶使用藍(lán)牙功能
15 未知錯(cuò)誤

示例代碼

my.openBluetoothAdapter({
  success: (res) => {
  },
  fail:(res) => {
  },
  complete: (res)=>{
  }
});

my.closeBluetoothAdapter

關(guān)閉本機(jī)藍(lán)牙模塊。

入?yún)?/h3>
名稱 類型 必填 描述
success Function 調(diào)用成功的回調(diào)函數(shù)
fail Function 調(diào)用失敗的回調(diào)函數(shù)
complete Function 調(diào)用結(jié)束的回調(diào)函數(shù)(調(diào)用成功、失敗都會(huì)執(zhí)行)

示例代碼

my.closeBluetoothAdapter({
  success: (res) => {
  },
  fail:(res) => {
  },
  complete: (res)=>{
  }
});

my.getBluetoothAdapterState

獲取本機(jī)藍(lán)牙模塊狀態(tài)。

入?yún)?/h3>
名稱 類型 必填 描述
success Function 調(diào)用成功的回調(diào)函數(shù)
fail Function 調(diào)用失敗的回調(diào)函數(shù)
complete Function 調(diào)用結(jié)束的回調(diào)函數(shù)(調(diào)用成功、失敗都會(huì)執(zhí)行)

success 返回值

名稱 類型 描述
discovering Boolean 是否正在搜索設(shè)備
available Boolean 藍(lán)牙模塊是否可用(需支持 BLE 并且藍(lán)牙是打開狀態(tài))

示例代碼

my.getBluetoothAdapterState({
  success: (res) => {
    console.log(res)
  },
  fail:(res) => {
  },
  complete: (res)=>{
  }
});

my.startBluetoothDevicesDiscovery

開始搜尋附近的藍(lán)牙外圍設(shè)備。搜索結(jié)果將在 onBluetoothDeviceFound 事件中返回。

入?yún)?/h3>
名稱 類型 必填 描述
services Array 藍(lán)牙設(shè)備主 service 的 uuid 列表
allowDuplicatesKey Boolean 是否允許重復(fù)上報(bào)同一設(shè)備, 如果允許重復(fù)上報(bào),則onBluetoothDeviceFound 方法會(huì)多次上報(bào)同一設(shè)備,但是 RSSI 值會(huì)有不同
interval Integer 上報(bào)設(shè)備的間隔,默認(rèn)為0,意思是找到新設(shè)備立即上報(bào),否則根據(jù)傳入的間隔上報(bào)
success Function 調(diào)用成功的回調(diào)函數(shù)
fail Function 調(diào)用失敗的回調(diào)函數(shù)
complete Function 調(diào)用結(jié)束的回調(diào)函數(shù)(調(diào)用成功、失敗都會(huì)執(zhí)行)

示例代碼

my.startBluetoothDevicesDiscovery({
  services: ['fff0'],
  success: (res) => {
    console.log(res)
  },
  fail:(res) => {
  },
  complete: (res)=>{
  }
});

my.stopBluetoothDevicesDiscovery

停止搜尋附近的藍(lán)牙外圍設(shè)備。

入?yún)?/h3>
名稱 類型 必填 描述
success Function 調(diào)用成功的回調(diào)函數(shù)
fail Function 調(diào)用失敗的回調(diào)函數(shù)
complete Function 調(diào)用結(jié)束的回調(diào)函數(shù)(調(diào)用成功、失敗都會(huì)執(zhí)行)

示例代碼

my.stopBluetoothDevicesDiscovery({
  success: (res) => {
    console.log(res)
  },
  fail:(res) => {
  },
  complete: (res)=>{
  }
});

my.getBluetoothDevices

獲取所有已發(fā)現(xiàn)的藍(lán)牙設(shè)備,包括已經(jīng)和本機(jī)處于連接狀態(tài)的設(shè)備。

入?yún)?/h3>
名稱 類型 必填 描述
success Function 調(diào)用成功的回調(diào)函數(shù)
fail Function 調(diào)用失敗的回調(diào)函數(shù)
complete Function 調(diào)用結(jié)束的回調(diào)函數(shù)(調(diào)用成功、失敗都會(huì)執(zhí)行)

success 返回值

名稱 類型 描述
devices Array 已發(fā)現(xiàn)的設(shè)備列表

device對(duì)象

名稱 類型 描述
name String 藍(lán)牙設(shè)備名稱,某些設(shè)備可能沒(méi)有
deviceName(兼容舊版本) String 值與 name 一致
localName String 廣播設(shè)備名稱
deviceId String 設(shè)備 Id
RSSI Number 設(shè)備信號(hào)強(qiáng)度
advertisData Hex String 設(shè)備的廣播內(nèi)容
manufacturerData Hex String 設(shè)備的manufacturerData

示例代碼

my.getBluetoothDevices({
  success: (res) => {
    console.log(res)
  },
  fail:(res) => {
  },
  complete: (res)=>{
  }
});

my.getConnectedBluetoothDevices

獲取處于已連接狀態(tài)的設(shè)備。

入?yún)?/h3>
名稱 類型 必填 描述
services Array 藍(lán)牙設(shè)備主 service 的 uuid 列表
success Function 調(diào)用成功的回調(diào)函數(shù)
fail Function 調(diào)用失敗的回調(diào)函數(shù)
complete Function 調(diào)用結(jié)束的回調(diào)函數(shù)(調(diào)用成功、失敗都會(huì)執(zhí)行)

success 返回值

名稱 類型 描述
devices Array 已連接的設(shè)備列表

device對(duì)象

名稱 類型 描述
name String 藍(lán)牙設(shè)備名稱,某些設(shè)備可能沒(méi)有
deviceName(兼容舊版本) String 值與 name 一致
localName String 廣播設(shè)備名稱
deviceId String 設(shè)備 Id
RSSI Number 設(shè)備信號(hào)強(qiáng)度
advertisData Hex String 設(shè)備的廣播內(nèi)容
manufacturerData Hex String 設(shè)備的manufacturerData

示例代碼

my.getConnectedBluetoothDevices({
  success: (res) => {
    console.log(res)
  },
  fail:(res) => {
  },
  complete: (res)=>{
  }
});

my.connectBLEDevice

連接低功耗藍(lán)牙設(shè)備。

入?yún)?/h3>
名稱 類型 必填 描述
deviceId String 藍(lán)牙設(shè)備id
success Function 調(diào)用成功的回調(diào)函數(shù)
fail Function 調(diào)用失敗的回調(diào)函數(shù)
complete Function 調(diào)用結(jié)束的回調(diào)函數(shù)(調(diào)用成功、失敗都會(huì)執(zhí)行)

示例代碼

my.connectBLEDevice({
  // 這里的 deviceId 需要在上面的 getBluetoothDevices 或 onBluetoothDeviceFound 接口中獲取
  deviceId: deviceId,
  success: (res) => {
    console.log(res)
  },
  fail:(res) => {
  },
  complete: (res)=>{
  }
});

my.disconnectBLEDevice

斷開與低功耗藍(lán)牙設(shè)備的連接。

入?yún)?/h3>
名稱 類型 必填 描述
deviceId String 藍(lán)牙設(shè)備id
success Function 調(diào)用成功的回調(diào)函數(shù)
fail Function 調(diào)用失敗的回調(diào)函數(shù)
complete Function 調(diào)用結(jié)束的回調(diào)函數(shù)(調(diào)用成功、失敗都會(huì)執(zhí)行)

示例代碼

my.disconnectBLEDevice({
  deviceId: deviceId,
  success: (res) => {
    console.log(res)
  },
  fail:(res) => {
  },
  complete: (res)=>{
  }
});

my.writeBLECharacteristicValue

向低功耗藍(lán)牙設(shè)備特征值中寫入數(shù)據(jù)。

入?yún)?/h3>
名稱 類型 必填 描述
deviceId String 藍(lán)牙設(shè)備 id,參考 device 對(duì)象
serviceId String 藍(lán)牙特征值對(duì)應(yīng) service 的 uuid
characteristicId String 藍(lán)牙特征值的 uuid
value Hex String 藍(lán)牙設(shè)備特征值對(duì)應(yīng)的值,16進(jìn)制字符串,限制在20字節(jié)內(nèi)
success Function 調(diào)用成功的回調(diào)函數(shù)
fail Function 調(diào)用失敗的回調(diào)函數(shù)
complete Function 調(diào)用結(jié)束的回調(diào)函數(shù)(調(diào)用成功、失敗都會(huì)執(zhí)行)

示例代碼

my.writeBLECharacteristicValue({
  deviceId: deviceId,
  serviceId: serviceId,
  characteristicId: characteristicId,
  value: 'fffe',
  success: (res) => {
    console.log(res)
  },
  fail:(res) => {
  },
  complete: (res)=>{
  }
});

my.readBLECharacteristicValue

讀取低功耗藍(lán)牙設(shè)備特征值中的數(shù)據(jù)。調(diào)用后在my.onBLECharacteristicValueChange() 事件中接收數(shù)據(jù)返回。

入?yún)?/h3>
名稱 類型 必填 描述
deviceId String 藍(lán)牙設(shè)備 id,參考 device 對(duì)象
serviceId String 藍(lán)牙特征值對(duì)應(yīng) service 的 uuid
characteristicId String 藍(lán)牙特征值的 uuid
success Function 調(diào)用成功的回調(diào)函數(shù)
fail Function 調(diào)用失敗的回調(diào)函數(shù)
complete Function 調(diào)用結(jié)束的回調(diào)函數(shù)(調(diào)用成功、失敗都會(huì)執(zhí)行)

success 返回值

名稱 類型 描述
characteristic Object 設(shè)備特征值信息

characteristic對(duì)象

藍(lán)牙設(shè)備characteristic(特征值)信息

名稱 類型 描述
characteristicId String 藍(lán)牙設(shè)備特征值的 uuid
serviceId String 藍(lán)牙設(shè)備特征值對(duì)應(yīng)服務(wù)的 uuid
value Hex String 藍(lán)牙設(shè)備特征值的value

示例代碼

my.readBLECharacteristicValue({
  deviceId: deviceId,
  serviceId: serviceId,
  characteristicId: characteristicId,
  success: (res) => {
    console.log(res)
  },
  fail:(res) => {
  },
  complete: (res)=>{
  }
});

my.notifyBLECharacteristicValueChange

啟用低功耗藍(lán)牙設(shè)備特征值變化時(shí)的 notify 功能。注意:必須設(shè)備的特征值支持notify才可以成功調(diào)用,具體參照 characteristicproperties 屬性 另外,必須先啟用notify才能監(jiān)聽(tīng)到設(shè)備 characteristicValueChange 事件。

入?yún)?/h3>
名稱 類型 必填 描述
deviceId String 藍(lán)牙設(shè)備 id,參考 device 對(duì)象
serviceId String 藍(lán)牙特征值對(duì)應(yīng) service 的 uuid
characteristicId String 藍(lán)牙特征值的 uuid
descriptorId String notify 的 descriptor 的 uuid (只有android 會(huì)用到,非必填,默認(rèn)值00002902-0000-10008000-00805f9b34fb)
state Boolean否 - 是否啟用notify或indicate
success Function 調(diào)用成功的回調(diào)函數(shù)
fail Function 調(diào)用失敗的回調(diào)函數(shù)
complete Function 調(diào)用結(jié)束的回調(diào)函數(shù)(調(diào)用成功、失敗都會(huì)執(zhí)行)

示例代碼

my.notifyBLECharacteristicValueChange({
  deviceId: deviceId,
  serviceId: serviceId,
  characteristicId: characteristicId,
  success: (res) => {
    console.log(res)
  },
  fail:(res) => {
  },
  complete: (res)=>{
  }
});

my.getBLEDeviceServices

獲取藍(lán)牙設(shè)備所有 service(服務(wù))

入?yún)?/h3>
名稱 類型 必填 描述
deviceId String 藍(lán)牙設(shè)備 id,參考 device 對(duì)象
success Function 調(diào)用成功的回調(diào)函數(shù)
fail Function 調(diào)用失敗的回調(diào)函數(shù)

success 返回值

名稱 類型 描述
services Array 設(shè)備service 對(duì)象列表,詳見(jiàn)下表特征值信息
complete Function 調(diào)用結(jié)束的回調(diào)函數(shù)(調(diào)用成功、失敗都會(huì)執(zhí)行)

service對(duì)象

藍(lán)牙設(shè)備service(服務(wù))信息

名稱 類型 描述
serviceId String 藍(lán)牙設(shè)備服務(wù)的 uuid
isPrimary Boolean 該服務(wù)是否為主服務(wù)

示例代碼

my.getBLEDeviceServices({
  deviceId: deviceId,
  success: (res) => {
    console.log(res)
  },
  fail:(res) => {
  },
  complete: (res)=>{
  }
});

my.getBLEDeviceCharacteristics

獲取藍(lán)牙設(shè)備所有 characteristic(特征值)

入?yún)?/h3>
名稱 類型 必填 描述
deviceId String 藍(lán)牙設(shè)備 id,參考 device 對(duì)象
serviceId String 藍(lán)牙特征值對(duì)應(yīng) service 的 uuid
success Function 調(diào)用成功的回調(diào)函數(shù)
fail Function 調(diào)用失敗的回調(diào)函數(shù)
complete Function 調(diào)用結(jié)束的回調(diào)函數(shù)(調(diào)用成功、失敗都會(huì)執(zhí)行)

success 返回值

名稱 類型 描述
characteristics Array 設(shè)備特征值列

characteristic對(duì)象

藍(lán)牙設(shè)備 characteristic (特征值)信息

名稱 類型 描述
characteristicId String 藍(lán)牙設(shè)備特征值的 uuid
serviceId String 藍(lán)牙設(shè)備特征值對(duì)應(yīng)服務(wù)的 uuid
value Hex String 藍(lán)牙設(shè)備特征值對(duì)應(yīng)的16進(jìn)制值
properties Object 該特征值支持的操作類型

properties 對(duì)象

名稱 類型 描述
read boolean 該特征值是否支持 read 操作
write boolean 該特征值是否支持 write 操作
notify boolean 該特征值是否支持 notify 操作
indicate boolean 該特征值是否支持 indicate 操作

示例代碼

my.getBLEDeviceCharacteristics({
  deviceId: deviceId,
  serviceId: serviceId,
  success: (res) => {
    console.log(res)
  },
  fail:(res) => {
  },
  complete: (res)=>{
  }
});

my.onBluetoothDeviceFound

尋找到新的藍(lán)牙設(shè)備時(shí)觸發(fā)此事件。

入?yún)?/h3>
名稱 類型 必填 描述
success Function 調(diào)用成功的回調(diào)函數(shù)
fail Function 調(diào)用失敗的回調(diào)函數(shù)
complete Function 調(diào)用結(jié)束的回調(diào)函數(shù)(調(diào)用成功、失敗都會(huì)執(zhí)行)

success 返回值

名稱 類型 描述
devices Array 新搜索到的設(shè)備列表

device對(duì)象

名稱 類型 描述
name String 藍(lán)牙設(shè)備名稱,某些設(shè)備可能沒(méi)有
deviceName(兼容舊版本) String 值與 name 一致
localName String 廣播設(shè)備名稱
deviceId String 設(shè)備 Id
RSSI Number 設(shè)備信號(hào)強(qiáng)度
advertisData Hex String 設(shè)備的廣播內(nèi)容

示例代碼

my.onBluetoothDeviceFound({
  success: (res) => {
    console.log(res);
  }
});

my.offBluetoothDeviceFound

移除尋找到新的藍(lán)牙設(shè)備事件的監(jiān)聽(tīng)。

示例代碼

my.offBluetoothDeviceFound();

my.onBLECharacteristicValueChange

監(jiān)聽(tīng)低功耗藍(lán)牙設(shè)備的特征值變化的事件。

入?yún)?/h3>
名稱 類型 必填 描述
success Function 調(diào)用成功的回調(diào)函數(shù)
fail Function 調(diào)用失敗的回調(diào)函數(shù)
complete Function 調(diào)用結(jié)束的回調(diào)函數(shù)(調(diào)用成功、失敗都會(huì)執(zhí)行)

success 返回值

名稱 類型 描述
deviceId String 藍(lán)牙設(shè)備 id,參考 device 對(duì)象
serviceId String 藍(lán)牙特征值對(duì)應(yīng) service 的 uuid
characteristicId String 藍(lán)牙特征值的 uuid
value Hex String 特征值最新的16進(jìn)制值

示例代碼

my.onBLECharacteristicValueChange({
  success: (res) => {
    console.log(res);
  }
});

my.offBLECharacteristicValueChange

移除低功耗藍(lán)牙設(shè)備的特征值變化事件的監(jiān)聽(tīng)。

示例代碼

my.offBLECharacteristicValueChange();

my.onBLEConnectionStateChanged

監(jiān)聽(tīng)低功耗藍(lán)牙連接的錯(cuò)誤事件,包括設(shè)備丟失,連接異常斷開等。

入?yún)?/h3>
名稱 類型 必填 描述
success Function 調(diào)用成功的回調(diào)函數(shù)
fail Function 調(diào)用失敗的回調(diào)函數(shù)
complete Function 調(diào)用結(jié)束的回調(diào)函數(shù)(調(diào)用成功、失敗都會(huì)執(zhí)行)

success 返回值

名稱 類型 描述
deviceId String 藍(lán)牙設(shè)備 id,參考 device 對(duì)象
connected Boolean 連接目前的狀態(tài)

示例代碼

my.onBLEConnectionStateChanged({
  success: (res) => {
    console.log(res);
  }
});

my.offBLEConnectionStateChanged

移除低功耗藍(lán)牙連接的錯(cuò)誤事件的監(jiān)聽(tīng)。

示例代碼

my.offBLEConnectionStateChanged();

my.onBluetoothAdapterStateChange

監(jiān)聽(tīng)本機(jī)藍(lán)牙狀態(tài)變化的事件。

入?yún)?/h3>
名稱 類型 必填 描述
success Function 調(diào)用成功的回調(diào)函數(shù)
fail Function 調(diào)用失敗的回調(diào)函數(shù)
complete Function 調(diào)用結(jié)束的回調(diào)函數(shù)(調(diào)用成功、失敗都會(huì)執(zhí)行)

success 返回值

名稱 類型 描述
available Boolean 藍(lán)牙模塊是否可用
discovering Boolean 藍(lán)牙模塊是否處于搜索狀態(tài)

示例代碼

my.onBluetoothAdapterStateChange({
  success: (res) => {
    console.log(res);
  }
});

my.offBluetoothAdapterStateChange

移除本機(jī)藍(lán)牙狀態(tài)變化的事件的監(jiān)聽(tīng)。

示例代碼

my.offBluetoothAdapterStateChange();

錯(cuò)誤碼

錯(cuò)誤碼 說(shuō)明
10000 未初始化藍(lán)牙適配器
10001 當(dāng)前藍(lán)牙適配器不可用
10002 沒(méi)有找到指定設(shè)備
10003 連接失敗
10004 沒(méi)有找到指定服務(wù)
10005 沒(méi)有找到指定特征值
10006 當(dāng)前連接已斷開
10007 當(dāng)前特征值不支持此操作
10008 其余所有系統(tǒng)上報(bào)的異常
10009 Android 系統(tǒng)特有,系統(tǒng)版本低于 4.3 不支持BLE
10010 沒(méi)有找到指定描述符
10011 設(shè)備 id 不可用/為空
10012 服務(wù) id 不可用/為空
10013 特征 id 不可用/為空
10014 發(fā)送的數(shù)據(jù)為空或格式錯(cuò)誤
10015 操作超時(shí)
10016 缺少參數(shù)
10017 寫入特征值失敗
10018 讀取特征值失敗
以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)