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;
|
}
|
}
|
};
|