大佬们做过蓝牙打印吗 uniapp 里基于安卓的好像

2022-01-28 13:59:33 +08:00
 qwertyzzz

但是目前 80%可以打印 20%的概率会出现打印机的蓝牙图标闪烁 但是打印不出来。。

var BluetoothAdapter = plus.android.importClass("android.bluetooth.BluetoothAdapter");
		var BAdapter = BluetoothAdapter.getDefaultAdapter();
		var UUID = plus.android.importClass("java.util.UUID");
		var uuid = UUID.fromString("00001101-0000-1000-8000-00805F9B34FB");
		var device = BAdapter.getRemoteDevice(bluetoothInfo.address);
		plus.android.importClass(device);
		var bluetoothSocket = device.createInsecureRfcommSocketToServiceRecord(uuid);
		plus.android.importClass(bluetoothSocket);
		if (!bluetoothSocket.isConnected()) {
			console.log(bluetoothSocket.isConnected())
			bluetoothSocket.connect()
			console.log('连接蓝牙')
			console.log(bluetoothSocket.isConnected())
			if (!bluetoothSocket.isConnected()) {
				return uni.$u.toast('蓝牙连接失败')
			}
		}

基本代码是这个 不过我每次打印都会调用一下这个代码 有的时候连续打也没问题

1654 次点击
所在节点    程序员
4 条回复
sujin190
2022-01-28 14:13:46 +08:00
是不是发送速度太快了,怎么记得安卓蓝牙有发送速度限制,太快会丢失数据,说起来用串口发送打印数据的倒是不多见,ble 不应该用打印服务么
qwertyzzz
2022-01-28 14:38:29 +08:00
@sujin190 关键是不知道如何稳定复现。。。有的时候连续几十张没问题 有的时候就一直打印不出来。。指令是 esc/pos,cpcl 也用过 也是会这样
sujin190
2022-01-28 14:46:41 +08:00
@qwertyzzz #2 可以调慢一点发送速度试试看呗,我们之前用在微信小程序上做过,好像发送速度要用定时器来精准定时,似乎 esc/pos 命令中间有数据错的会打出乱码来才是,或者发送一半蓝牙断了没监测到?
qwertyzzz
2022-01-28 14:49:49 +08:00
@sujin190 关键打印机的蓝牙图标闪动了。。感觉是接收到数据了。。或者数据不全吗 可以试试调下速度

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/831112

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX