Android 商米蓝牙打印机的使用方式

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

推荐阅读更多精彩内容