当前位置:首页 > uni-app

uniapp搜索蓝牙

2026-02-06 06:20:55uni-app

搜索蓝牙设备

在UniApp中搜索蓝牙设备需要使用uni.startBluetoothDevicesDiscovery方法。该方法会开始搜索附近的蓝牙设备,搜索到的设备可以通过onBluetoothDeviceFound事件监听获取。

uni.startBluetoothDevicesDiscovery({
  success: function(res) {
    console.log('开始搜索蓝牙设备', res);
  },
  fail: function(err) {
    console.error('搜索蓝牙设备失败', err);
  }
});

uni.onBluetoothDeviceFound(function(devices) {
  console.log('发现新设备', devices);
});

获取已发现的设备列表

使用uni.getBluetoothDevices方法可以获取已经发现的蓝牙设备列表。该方法返回一个数组,包含所有已发现的设备信息。

uniapp搜索蓝牙

uni.getBluetoothDevices({
  success: function(res) {
    console.log('已发现的设备列表', res.devices);
  },
  fail: function(err) {
    console.error('获取设备列表失败', err);
  }
});

停止搜索蓝牙设备

当不需要继续搜索蓝牙设备时,可以调用uni.stopBluetoothDevicesDiscovery方法停止搜索。

uni.stopBluetoothDevicesDiscovery({
  success: function(res) {
    console.log('停止搜索蓝牙设备', res);
  },
  fail: function(err) {
    console.error('停止搜索失败', err);
  }
});

连接蓝牙设备

发现目标设备后,可以使用uni.createBLEConnection方法连接设备。需要传入设备的deviceId

uniapp搜索蓝牙

uni.createBLEConnection({
  deviceId: '目标设备的deviceId',
  success: function(res) {
    console.log('连接设备成功', res);
  },
  fail: function(err) {
    console.error('连接设备失败', err);
  }
});

获取蓝牙设备服务

连接成功后,使用uni.getBLEDeviceServices方法获取设备的服务列表。

uni.getBLEDeviceServices({
  deviceId: '目标设备的deviceId',
  success: function(res) {
    console.log('获取服务列表成功', res.services);
  },
  fail: function(err) {
    console.error('获取服务列表失败', err);
  }
});

监听蓝牙连接状态

通过onBLEConnectionStateChange方法可以监听蓝牙设备的连接状态变化。

uni.onBLEConnectionStateChange(function(res) {
  console.log('设备连接状态变化', res.connected);
});

注意事项

  • 使用蓝牙功能前需要确保用户已授权蓝牙权限。
  • 不同平台的实现可能有差异,建议测试时覆盖目标平台。
  • 搜索到的设备信息包含deviceIdnameRSSI等字段,具体字段可能因平台而异。
  • 长时间搜索会消耗较多电量,建议在找到目标设备后及时停止搜索。

标签: 蓝牙uniapp
分享给朋友:

相关文章

uniapp前端项目

uniapp前端项目

Uniapp 前端项目开发指南 Uniapp 是一个基于 Vue.js 的跨平台开发框架,支持一次开发,多端发布(如微信小程序、H5、App 等)。以下是关于 Uniapp 前端项目的关键信息: 环…

uniapp设置title

uniapp设置title

设置页面标题的方法 在UniApp中设置页面标题可以通过以下几种方式实现,适用于不同场景和需求。 通过pages.json配置 在pages.json文件中,可以为每个页面单独配置导航栏标题。找到对…

uniapp gpio

uniapp gpio

在 uniapp 中直接操作 GPIO(通用输入输出)通常需要依赖原生平台的硬件接口,因为 uniapp 本身是基于前端技术的跨平台框架,不直接提供硬件访问能力。以下是实现 GPIO 控制的几种方法:…

uniapp真垃圾

uniapp真垃圾

关于对UniApp的评价,存在不同的声音。以下从技术特性、适用场景及常见争议点展开分析,供开发者参考: 技术特性与优势 UniApp基于Vue.js框架,支持多端编译(微信小程序、H5、App等),…

uniapp 表格导入

uniapp 表格导入

uniapp 表格导入的实现方法 使用 uni.chooseFile 选择文件 在 uniapp 中,可以通过 uni.chooseFile API 让用户选择本地文件。该 API 支持多平台,包括…

uniapp 退场动画

uniapp 退场动画

实现退场动画的方法 在UniApp中实现退场动画可以通过CSS动画、Vue过渡效果或第三方动画库完成。以下是几种常见方法: 使用CSS动画 通过定义@keyframes和animation属性实现退…