打开蓝牙设备

  1. <template>
  2. <view>
  3. <button type="primary" @click="open">打开蓝牙设备</button>
  4. </view>
  5. </template>
  6. <script>
  7. export default {
  8. methods: {
  9. open () {
  10. uni.openBluetoothAdapter({
  11. success: res => {
  12. console.log(JSON.stringify(res)) // {"errMsg":"openBluetoothAdapter:ok"}
  13. },
  14. fail: err => {
  15. switch (err.errCode) {
  16. case 10001: // "openBluetoothAdapter:fail not available"
  17. uni.showToast({
  18. title: '请打开蓝牙设备后重试',
  19. mask: false,
  20. duration: 1500,
  21. icon: 'none'
  22. });
  23. break
  24. }
  25. console.log(JSON.stringify(err)) // {"errMsg":"openBluetoothAdapter:fail not available","errCode":10001}
  26. }
  27. })
  28. }
  29. }
  30. }
  31. </script>

:::warning 注意:
其他蓝牙相关 API 必须在 uni.openBluetoothAdapter 调用之后使用。否则 API 会返回错误(errCode=10000)。 :::

获取本机蓝牙适配器状态

  1. uni.getBluetoothAdapterState({
  2. success: state => {
  3. console.log(JSON.stringify(state)) // {"discovering":false,"available":true,"errMsg":"getBluetoothAdapterState:ok"}
  4. },
  5. fail: err => {
  6. console.log(JSON.stringify(err))
  7. }
  8. })

错误码查询

错误码 错误信息 说明
0 ok 正常
10000 not init 未初始化蓝牙适配器
10001 not available 当前蓝牙适配器不可用
10002 no device 没有找到指定设备
10003 connection fail 连接失败
10004 no service 没有找到指定服务
10005 no characteristic 没有找到指定特征值
10006 no connection 当前连接已断开
10007 property not support 当前特征值不支持此操作
10008 system error 其余所有系统上报的异常
10009 system not support Android 系统特有,系统版本低于 4.3 不支持 BLE

参考资料