module.exports = { // 获取当前已连接的设备并发送CPCL指令 sendCPCLDataToConnectedPrinter: function(cpclData) { try { // 获取BluetoothAdapter实例 var BluetoothAdapter = plus.android.importClass("android.bluetooth.BluetoothAdapter"); var BluetoothDevice = plus.android.importClass("android.bluetooth.BluetoothDevice"); var BluetoothSocket = plus.android.importClass("android.bluetooth.BluetoothSocket"); var UUID = plus.android.importClass("java.util.UUID"); var bluetoothAdapter = BluetoothAdapter.getDefaultAdapter(); if (!bluetoothAdapter.isEnabled()) { throw new Error('Bluetooth is not enabled'); } // 获取已连接的设备 var pairedDevices = bluetoothAdapter.getBondedDevices(); if (pairedDevices.isEmpty()) { throw new Error('No paired devices found'); } // 获取第一个已配对设备(可以根据需要改为选择具体的设备) var deviceIterator = pairedDevices.iterator(); var device = deviceIterator.next(); // 这里假设我们只选择第一个已配对的设备 var socket = device.createRfcommSocketToServiceRecord(UUID.fromString("00001101-0000-1000-8000-00805F9B34FB")); // 标准蓝牙串口UUID // 连接到已配对设备 socket.connect(); var outputStream = socket.getOutputStream(); // 发送CPCL指令 outputStream.write(cpclData); outputStream.flush(); // 发送完成后关闭连接 outputStream.close(); socket.close(); console.log("CPCL data sent successfully to the printer"); return true; } catch (e) { console.error("Failed to send CPCL data:", e); return false; } } };