1:蓝牙权限声明
<manifest>
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
</manifest>
2:获取蓝牙设备 BluetoothAdapter
BluetoothAdapter mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
if (mBluetoothAdapter == null && !mBluetoothAdapter.isEnabled()) {
Intent intent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
startActivityForResult(intent, REQUEST_ENABLE_BT);
}
3:获取虚拟蓝牙设备
String innerprinter_address = "00:11:22:33:44:55";
BluetoothDevice innerprinter_device = null;
Set<BluetoothDevice> devices = mBluetoothAdapter.getBondedDevices();
for(BluetoothDevice device : devices){
if(device.getAddress().equals(innerprinter_address)){
innerprinter_device = device;
}
}
4 : 获取蓝牙套接字 BluetoothSocket
UUID PRINTER_UUID = UUID.fromString("00001101-0000-1000-8000-00805F9B34FB")
BluetoothSocket mSocket = innerprinter_device.createRfcommSocketToServiceRecord(PRINTER_UUID);
5 : 打印订单
OutputStream mOut = mSocket.getOutputStream();
private void sendData(byte[] bytes) {
if (mOut != null) {
try {
mOut.write(bytes, 0, bytes.length);
mOut.flush();
} catch (IOException e) {
Log.e("TAG", e.getMessage());
} finally {
try {
mOut.close();
} catch (IOException e) { }
}
}
}
打印数据举例
public static final byte[] MEITUAN = { 0x1b, (byte) 0x40, (byte) 0x1b, (byte) 0x61, (byte) 0x01, (byte) 0x1d,
(byte) 0x21, (byte) 0x11, (byte) 0xa3, (byte) 0xa3, (byte) 0x31, (byte) 0x20, (byte) 0x20, (byte) 0xc3,
(byte) 0xc0, (byte) 0xcd, (byte) 0xc5, (byte) 0xb2, (byte) 0xe2, (byte) 0xca, (byte) 0xd4, (byte) 0x0a,
(byte) 0x0a, (byte) 0x1d, (byte) 0x21, (byte) 0x00, (byte) 0xd4, (byte) 0xc1, (byte) 0xcf, (byte) 0xe3,
(byte) 0xb8, (byte) 0xdb, (byte) 0xca, (byte) 0xbd, (byte) 0xc9, (byte) 0xd5, (byte) 0xc0, (byte) 0xb0,
(byte) 0x28, (byte) 0xb5, (byte) 0xda, (byte) 0x31, (byte) 0xc1, (byte) 0xaa, (byte) 0x29, (byte) 0x0a,
(byte) 0x1b, (byte) 0x21, (byte) 0x10, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d,
(byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d,
(byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d,
(byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d,
(byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x0a, (byte) 0x2a, (byte) 0x20, (byte) 0x2a, (byte) 0x20,
(byte) 0x2a, (byte) 0x20, (byte) 0x2a, (byte) 0x20, (byte) 0x2a, (byte) 0x20, (byte) 0x2a, (byte) 0x20,
(byte) 0x20, (byte) 0xd4, (byte) 0xa4, (byte) 0xb6, (byte) 0xa9, (byte) 0xb5, (byte) 0xa5, (byte) 0x20,
(byte) 0x20, (byte) 0x2a, (byte) 0x20, (byte) 0x2a, (byte) 0x20, (byte) 0x2a, (byte) 0x20, (byte) 0x2a,
(byte) 0x20, (byte) 0x2a, (byte) 0x20, (byte) 0x2a, (byte) 0x0a, (byte) 0xc6, (byte) 0xda, (byte) 0xcd,
(byte) 0xfb, (byte) 0xcb, (byte) 0xcd, (byte) 0xb4, (byte) 0xef, (byte) 0xca, (byte) 0xb1, (byte) 0xbc,
(byte) 0xe4, (byte) 0x3a, (byte) 0x20, (byte) 0x5b, (byte) 0x31, (byte) 0x38, (byte) 0x3a, (byte) 0x30,
(byte) 0x30, (byte) 0x5d, (byte) 0x0a, (byte) 0x1d, (byte) 0x21, (byte) 0x00, (byte) 0x2d, (byte) 0x2d,
(byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d,
(byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d,
(byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d,
(byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x0a, (byte) 0x1b,
(byte) 0x61, (byte) 0x00, (byte) 0xcf, (byte) 0xc2, (byte) 0xb5, (byte) 0xa5, (byte) 0xca, (byte) 0xb1,
(byte) 0xbc, (byte) 0xe4, (byte) 0x3a, (byte) 0x30, (byte) 0x31, (byte) 0x2d, (byte) 0x30, (byte) 0x31,
(byte) 0x20, (byte) 0x31, (byte) 0x32, (byte) 0x3a, (byte) 0x30, (byte) 0x30, (byte) 0x0a, (byte) 0x1b,
(byte) 0x21, (byte) 0x10, (byte) 0xb1, (byte) 0xb8, (byte) 0xd7, (byte) 0xa2, (byte) 0x3a, (byte) 0xb1,
(byte) 0xf0, (byte) 0xcc, (byte) 0xab, (byte) 0xc0, (byte) 0xb1, (byte) 0x0a, (byte) 0x1d, (byte) 0x21,
(byte) 0x00, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d,
(byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d,
(byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d,
(byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d,
(byte) 0x2d, (byte) 0x0a, (byte) 0xb2, (byte) 0xcb, (byte) 0xc3, (byte) 0xfb, (byte) 0x09, (byte) 0x09,
(byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0xca, (byte) 0xfd, (byte) 0xc1, (byte) 0xbf, (byte) 0x09,
(byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0xd0, (byte) 0xa1, (byte) 0xbc, (byte) 0xc6,
(byte) 0x09, (byte) 0x0a, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d,
(byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d,
(byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d,
(byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d,
(byte) 0x2d, (byte) 0x2d, (byte) 0x0a, (byte) 0x1b, (byte) 0x21, (byte) 0x10, (byte) 0xba, (byte) 0xec,
(byte) 0xc9, (byte) 0xd5, (byte) 0xc8, (byte) 0xe2, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20,
(byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20,
(byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x78, (byte) 0x31, (byte) 0x09, (byte) 0x20, (byte) 0x20,
(byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x31, (byte) 0x32, (byte) 0x0a, (byte) 0x1d,
(byte) 0x21, (byte) 0x00, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d,
(byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d,
(byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d,
(byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d,
(byte) 0x2d, (byte) 0x2d, (byte) 0x0a, (byte) 0xc5, (byte) 0xe4, (byte) 0xcb, (byte) 0xcd, (byte) 0xb7,
(byte) 0xd1, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20,
(byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20,
(byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20,
(byte) 0x20, (byte) 0x20, (byte) 0x35, (byte) 0x0a, (byte) 0xb2, (byte) 0xcd, (byte) 0xba, (byte) 0xd0,
(byte) 0xb7, (byte) 0xd1, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20,
(byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20,
(byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20,
(byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x31, (byte) 0x0a, (byte) 0x5b, (byte) 0xb3, (byte) 0xac,
(byte) 0xca, (byte) 0xb1, (byte) 0xc5, (byte) 0xe2, (byte) 0xb8, (byte) 0xb6, (byte) 0x5d, (byte) 0x20,
(byte) 0x2d, (byte) 0xcf, (byte) 0xea, (byte) 0xbc, (byte) 0xfb, (byte) 0xb6, (byte) 0xa9, (byte) 0xb5,
(byte) 0xa5, (byte) 0x0a, (byte) 0xbf, (byte) 0xc9, (byte) 0xbf, (byte) 0xda, (byte) 0xbf, (byte) 0xc9,
(byte) 0xc0, (byte) 0xd6, (byte) 0x3a, (byte) 0x78, (byte) 0x31, (byte) 0x0a, (byte) 0x2d, (byte) 0x2d,
(byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d,
(byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d,
(byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d,
(byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x0a, (byte) 0x1b,
(byte) 0x21, (byte) 0x10, (byte) 0xba, (byte) 0xcf, (byte) 0xbc, (byte) 0xc6, (byte) 0x20, (byte) 0x20,
(byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20,
(byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20,
(byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x31, (byte) 0x38,
(byte) 0xd4, (byte) 0xaa, (byte) 0x0a, (byte) 0x1b, (byte) 0x40, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d,
(byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d,
(byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d,
(byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d,
(byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x0a, (byte) 0x1d, (byte) 0x21,
(byte) 0x11, (byte) 0xd5, (byte) 0xc5, (byte) 0x2a, (byte) 0x20, (byte) 0x31, (byte) 0x38, (byte) 0x33,
(byte) 0x31, (byte) 0x32, (byte) 0x33, (byte) 0x34, (byte) 0x35, (byte) 0x36, (byte) 0x37, (byte) 0x38,
(byte) 0x0a, (byte) 0xb5, (byte) 0xd8, (byte) 0xd6, (byte) 0xb7, (byte) 0xd0, (byte) 0xc5, (byte) 0xcf,
(byte) 0xa2, (byte) 0x0a, (byte) 0x1d, (byte) 0x21, (byte) 0x00, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d,
(byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d,
(byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d,
(byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d,
(byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x2d, (byte) 0x0a, (byte) 0x0a, (byte) 0x1b,
(byte) 0x40, (byte) 0x1b, (byte) 0x61, (byte) 0x01, (byte) 0x1d, (byte) 0x21, (byte) 0x11, (byte) 0xa3,
(byte) 0xa3, (byte) 0x31, (byte) 0x20, (byte) 0x20, (byte) 0xc3, (byte) 0xc0, (byte) 0xcd, (byte) 0xc5,
(byte) 0xb2, (byte) 0xe2, (byte) 0xca, (byte) 0xd4, (byte) 0x0a, (byte) 0x1d, (byte) 0x21, (byte) 0x00,
(byte) 0x1b, (byte) 0x40, (byte) 0x0a, (byte) 0x0a, (byte) 0x0a, (byte) 0x1d, (byte) 0x56, (byte) 0x00 };