android设备连蓝牙打印机打印,代码如下:
mui.plusReady(function(){
main = plus.android.runtimeMainActivity();
BluetoothAdapter = plus.android.importClass("android.bluetooth.BluetoothAdapter");
UUID = plus.android.importClass("java.util.UUID");
uuid = UUID.fromString("00001101-0000-1000-8000-00805F9B34FB");//不需要更改
BAdapter = BluetoothAdapter.getDefaultAdapter();
BAdapter.cancelDiscovery(); //停止扫描
device = BAdapter.getRemoteDevice("DC:0D:30:28:25:96");//这里是蓝牙打印机的蓝牙地址
plus.android.importClass(device);
bluetoothSocket = device.createInsecureRfcommSocketToServiceRecord(uuid);
plus.android.importClass(bluetoothSocket);
function print(str) {
if(!bluetoothSocket.isConnected()) {
console.log('断开了,需要重新连接,连接中');
bluetoothSocket.connect();
}
if(bluetoothSocket.isConnected()) {
console.log('连接成功');
var outputStream = bluetoothSocket.getOutputStream();
plus.android.importClass(outputStream);
var s = plus.android.importClass('java.lang.String');
var string = new s('test'+' '+str+'\n\n\n\n');//必须以创建字符串对象的形式创建对象,否则返回NULL
var bytes = string.getBytes('gbk');
outputStream.write(0x1d);
outputStream.write(0x21);
outputStream.write(0x011);
console.log(bytes);
outputStream.write(bytes);
outputStream.flush();
} else {
console.log('fail');
}
}
});
然后在需要打印的位置,直接调用print(str)方法即可,str为需要打印的字符串。
mui.plusReady(function(){
main = plus.android.runtimeMainActivity();
BluetoothAdapter = plus.android.importClass("android.bluetooth.BluetoothAdapter");
UUID = plus.android.importClass("java.util.UUID");
uuid = UUID.fromString("00001101-0000-1000-8000-00805F9B34FB");//不需要更改
BAdapter = BluetoothAdapter.getDefaultAdapter();
BAdapter.cancelDiscovery(); //停止扫描
device = BAdapter.getRemoteDevice("DC:0D:30:28:25:96");//这里是蓝牙打印机的蓝牙地址
plus.android.importClass(device);
bluetoothSocket = device.createInsecureRfcommSocketToServiceRecord(uuid);
plus.android.importClass(bluetoothSocket);
function print(str) {
if(!bluetoothSocket.isConnected()) {
console.log('断开了,需要重新连接,连接中');
bluetoothSocket.connect();
}
if(bluetoothSocket.isConnected()) {
console.log('连接成功');
var outputStream = bluetoothSocket.getOutputStream();
plus.android.importClass(outputStream);
var s = plus.android.importClass('java.lang.String');
var string = new s('test'+' '+str+'\n\n\n\n');//必须以创建字符串对象的形式创建对象,否则返回NULL
var bytes = string.getBytes('gbk');
outputStream.write(0x1d);
outputStream.write(0x21);
outputStream.write(0x011);
console.log(bytes);
outputStream.write(bytes);
outputStream.flush();
} else {
console.log('fail');
}
}
});
然后在需要打印的位置,直接调用print(str)方法即可,str为需要打印的字符串。