如何通过蓝牙在Android上发送几个字节?

时间:2015-08-19 10:39:45

标签: android bluetooth hex

我在Android上通过蓝牙发送字节时遇到问题。 我从Stackoverflow获得了这段代码:

private boolean connected = false;
private BluetoothSocket sock;
private InputStream in;
private OutputStream out;

zee = BluetoothAdapter.getDefaultAdapter().getRemoteDevice(
        "XX:XX:XX:XX:XX:XX");
    m = zee.getClass().getMethod("createRfcommSocket",
        new Class[] { int.class });
    sock = (BluetoothSocket) m.invoke(zee, Integer.valueOf(1));
    sock.connect();
    in = sock.getInputStream();
    out = sock.getOutputStream();

char[] test = { 0x55, 0x0, 0x0, 0x0, 0x0, 0x50, 0x2, 0x0,
        0x30, 0xD7 };

for(int k=0; k < test.lenght; k++){
new DataOutputStream(sock.getOutputStream()).writeByte(test[k]);
}




for(int k=0; k < test.lenght; k++){
new DataOutputStream(sock.getOutputStream()).writeByte(test[k]);
}

字节一个接一个......但我需要将它们发送到一个数据包中。我需要用什么方法?怎么做?

1 个答案:

答案 0 :(得分:0)

这项工作对我来说:

OutputStream outStream = socket.getOutputStream();
byte[] test = {0x03, 0x40, 0x00, (byte) ch2, (byte) 0xC1, (byte) 0xC0};
outStream.write(test);