zkcPDA手持终端机5502型号打印功能实现

news/2024/12/5 0:30:50/

zkcPDA手持终端机5502型号打印功能实现

记录一下uniapp开发安卓终端设备遇到的坑,也给和我同样经历着前端开发安卓设备的工友提供一点点帮助

<div id="btnPrint" type="button" value="打印" @click="print('00:11:22:33:44:55')">打印</div>
print(mac_address) {if (!mac_address) {mui.toast('请选择蓝牙打印机');return;}var main = plus.android.runtimeMainActivity();var BluetoothAdapter = plus.android.importClass("android.bluetooth.BluetoothAdapter");var UUID = plus.android.importClass("java.util.UUID");var uuid = UUID.fromString("00001101-0000-1000-8000-00805F9B34FB");var BAdapter = BluetoothAdapter.getDefaultAdapter();var device = BAdapter.getRemoteDevice(mac_address);plus.android.importClass(device);var bluetoothSocket = device.createInsecureRfcommSocketToServiceRecord(uuid);plus.android.importClass(bluetoothSocket);if (!bluetoothSocket.isConnected()) {console.log('检测到设备未连接,尝试连接....');bluetoothSocket.connect(); //连接蓝牙}console.log('设备已连接');if (bluetoothSocket.isConnected()) { //判断是否连接设备蓝牙var outputStream = bluetoothSocket.getOutputStream(); //返回一个指向服务器端的数据plus.android.importClass(outputStream); //importClass导入Java类对象var OutputStreamWriter = plus.android.importClass('java.io.OutputStreamWriter')var writer = new OutputStreamWriter(outputStream, 'GBK')plus.android.importClass(writer)var byteStr = '101013Q73898'var moduleSize = 15var bytes = plus.android.invoke(byteStr, 'getBytes', 'gbk')var length = bytes.length// 缓存二维码数据writer.write(0x1D) // initwriter.write('(k') // adjust height of barcodewriter.write(length + 3) // plwriter.write(0) // phwriter.write(49) // cnwriter.write(80) // fnwriter.write(48) //writer.write(byteStr)// 二维码纠错等级// writer.write(0x1D)// writer.write('(k')// writer.write(3)// writer.write(0)// writer.write(49)// writer.write(69)// writer.write(90)// // 设置二维码块大小writer.write(0x1D)writer.write('(k')writer.write(3)writer.write(0)writer.write(49)writer.write(67)writer.write(moduleSize)// 打印已缓存的数据二维码writer.write(0x1D)writer.write('(k')writer.write(3) // plwriter.write(0) // phwriter.write(49) // cnwriter.write(81) // fnwriter.write(75) // mwriter.flush()// device = null //这里关键// bluetoothSocket.close();var string = "打印测试\r\n";var bytes = plus.android.invoke(string, 'getBytes', 'gbk'); //invoke调用对象(类对象/实例对象)的方法outputStream.write(bytes);outputStream.flush();// 换行outputStream.write('\n')outputStream.flush()device = null //这里关键bluetoothSocket.close(); //必须关闭蓝牙连接否则意外断开的话打印错误}},

http://www.ppmy.cn/news/344575.html

相关文章

ARM仿真下载调试器 SWD编程器 Jlink OB下载器 超STLINK 代替V8

传统JLINK体积大、引脚多&#xff0c;而且我们用的非官方版本&#xff0c;经常掉固件&#xff0c;诸多问题一直困扰着我&#xff0c;经过一番折腾&#xff0c;终于找到了正解&#xff1a;jlinkob&#xff0c;一个只有三条线的调试器&#xff0c;除了不能检测目标板电压&#xf…

@EnableFeignClients

一、EnableFeignClients https://andyboke.blog.csdn.net/article/details/86680622 在Spring cloud应用中&#xff0c;当我们要使用feign客户端时&#xff0c;一般要做以下三件事情&#xff1a; 1. 使用注解EnableFeignClients启用feign客户端&#xff1b;扫描和注册feign客…

linux下通过ssh用户名密码的rsync传输文件方法

一般用rsync传输文件都会使用密钥的方式实现免密码验证&#xff0c;但有些机器由于特殊的原因&#xff0c;不能配置密钥&#xff0c;这时就要用ssh的用户名和密码方式使用rsync 1. 首先&#xff0c;通过ssh 命令登录一次远程的主机&#xff0c;这里假设远程的主机为12.12.12.1…

华夏erp账号任意用户登录

hunter&#xff1a; web.icon"f6efcd53ba2b07d67ab993073c238a11" 访问/jshERP-boot/user/getAllList;.ico接口可查看所有用户账号密码(密码为md5值) GET /jshERP-boot/user/getAllList;.ico HTTP/1.1 Host: xxx User-Agent: Mozilla/5.0 (Windows NT 10.0; Win…

Windows10下安装 Docker Oracle镜像

目录 1.安装docker 2.下载oracle镜像 Oracle 19c安装 第一步&#xff1a;下载镜像 第二步&#xff1a;创建挂载文件 第三步&#xff1a;安装Oracle 1.安装docker Windows安装Docker&#xff08;图解教程&#xff09; 1) 下载地址https://www.docker.com/products/docke…

如何在AdsPower中设置易路代理YiLuProxy?

一、基本设置 1.随便拖入一个应用软件到【程序】选项卡&#xff0c;如chrome浏览器&#xff0c;请不要将AdsPower拖入程序里&#xff0c;否者会引起连接不稳定。 2.前往易路代理“设置”页面 ①.代理端口&#xff1a;随机或自定义都可以&#xff1b; ②.转发端口&#xff1a;…

h5-bootstrap开发移动端,电脑开发手机同步运行

因为vscode同步开发pc和移动端在电脑的浏览器上看不是很适配啊,到手机上不同型号还是会有出入,所以想要在边开发,真机上可以看到效果---,方法如下 1-必须保证手机和电脑在同一网段,也就是同一wifi下 2-vscode中安装live server--->html文件通过右键的这个打开, 打开后发现…

5502_图像板学习参考

以下是我调试5502图像板所累积的认识和经验&#xff0c;仅供参考&#xff0c;有错请指正。 前提 1&#xff0e; 请安装CCS和仿真器驱动&#xff0c;并配置CCS为 C5502 XDS510 Emulator 第一个程序------点亮LED 打开工程 LED_TEST和文件 LED_TEST.C &#xff0c;仔细浏览程序…