Uniapp调用native.js使用经典蓝牙串口通讯方法及问题解决

本人尝试在uniapp环境下开发一款安卓应用,需要与使用经典蓝牙协议的设备进行串口通讯,而uniapp官方给出的蓝牙操作接口目前只支持BLE(低功耗蓝牙),用该接口无法正常获取到我想要连接的设备。

通过大量搜索,终于在gitee平台找到了想要的实现(核心是BluetoothTool.jshttps://gitee.com/booltrue/bluetooth-printer/blob/master/static/libs/BluetoothTool.js文件)

,整个资源参见:BluetoothPrinter: 使用uniapp开发 的蓝牙打印demo,可打印图片,二维码,文字,线条等 仅支持:小程序、android。暂时不支持ioshttps://gitee.com/booltrue/bluetooth-printer

经过不断测试,基本实现了想要的功能,通过真机测试能够正常使用,在打包为apk后,发现无法搜索到蓝牙设备,经过若干天的搜索,终于在上述开源代码的讨论中找到了解决方法,参见:nullhttps://gitee.com/booltrue/bluetooth-printer/issues/I5OX92

主要问题解决代码如下:

javascript 复制代码
// native.js广播搜索前需调用uni.startBluetoothDevicesDiscovery();
// 否则真机运行没问题但打包后可能会搜不到蓝牙
uni.startBluetoothDevicesDiscovery({
	success(res) {
		console.log(res);
		bluetoothTool.discoveryNewDevice();
	}
})

特此记录一下,希望后来者能够闭坑!!!

相关推荐
QuantumLeap丶8 小时前
《uni-app跨平台开发完全指南》- 06 - 页面路由与导航
前端·vue.js·uni-app
用户9714171814278 小时前
uniapp页面路由
vue.js·uni-app
Kingsaj8 小时前
uni-app打包app -- 在用户首次启动 App 时,强制弹出一个“用户协议与隐私政策”的确认对话框。
服务器·ubuntu·uni-app
Vue10248 小时前
uniapp 使用renderjs 封装 video-player 视频播放器, html5视频播放器-解决视频层级、覆盖、播放卡顿
uni-app·音视频·html5
钱端工程师9 小时前
uniapp封装uni.request请求,实现重复接口请求中断上次请求(防抖)
前端·javascript·uni-app
茶憶9 小时前
uni-app app移动端实现纵向滑块功能,并伴随自动播放
javascript·vue.js·uni-app·html·scss
dcloud_jibinbin9 小时前
【uniapp】解决小程序分包下的json文件编译后生成到主包的问题
前端·性能优化·微信小程序·uni-app·vue·json
茶憶9 小时前
uniapp移动端实现触摸滑动功能:上下滑动展开收起内容,左右滑动删除列表
前端·javascript·vue.js·uni-app
蒲公英源码9 小时前
uniapp开源ERP多仓库管理系统
mysql·elementui·uni-app·php
shykevin9 小时前
uni-app x开发商城系统,小程序发布,h5发布,安卓打包
android·小程序·uni-app