我有J2ME应用程序将数据字节打印到打印机。 但现在,我必须将该代码转换为Android代码。
我的问题是: 我无法通过蓝牙从我的设备Galaxy Tab Froyo向移动打印机发送数据byte []?
这里是我的简单代码:
UUID MY_UUID = UUID.fromString("00001101-0000-1000-8000-00805F9B34FB");
BluetoothSocket btSocket btSocket = device.createRfcommSocketToServiceRecord(MY_UUID);
btSocket.connect();
OutputStream outStream = btSocket.getOutputStream();
String message = "this is message";
byte[] msgBuffer = message.getBytes();
outStream.write(msgBuffer.length);
outStream.write(msgBuffer);
当我看到LogCat时,它显示我通过所有过程而没有错误。
任何人都可以帮助我吗?
提前感谢,
AQL
答案 0 :(得分:1)
我想到的第一件事是outStream.close()
,你忘了写。虽然我很可能是错的
答案 1 :(得分:0)
您需要告诉打印机您要打印的内容(文本,图像,条形码)。所有蓝牙打印机都使用sam ehexadecimal代码来处理。尝试:
byte[] arrayOfByte1 = { 27, 33, 0 }; //This defines the FontType we use 2 in the next line for 0 thats the default Font.
byte[] printformat = { 0x1B, 0x21,(byte)(0x8|arrayOfByte1[2]) };
btoutputstream = btsocket.getOutputStream();
btoutputstream.write(printformat);
btoutputstream.write(printAlign);
btoutputstream.write(message.getBytes());