2011-11-07 18 views
8

Quiero enviar una cadena hexadecimal en Android a través de Bluetooth/SPP He intentado esto:¿Cómo enviar valores Hex a través de Bluetooth en Android

cabo sock.getOutputStream =();

String myHexString = Integer.toHexString(80) + " " 
     + Integer.toHexString(2) + " " + Integer.toHexString(0) 
     + " " + Integer.toHexString(48); 

para enviar esta Cadena:

out.write(myHexString.getBytes()); 

pero no funcionó ...

ayuda?

+1

Su va a tener que dar más contexto que esto. ¿Qué es calcetín? ¿Es una conexión Bluetooth? ¿Un calcetín sucio? ¿Cómo te estás conectando al dispositivo Bluetooth? ¿Estás conectado al dispositivo Bluetooth? Proporcione más código. Además, "no funcionó" no proporciona suficiente información sobre el problema. Publique errores también o una mejor descripción de CÓMO no funcionó. – Jack

Respuesta

10

problema resuelto con esto:

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]); 
} 
+0

Al ver esta solución: su solución anterior no podría haber funcionado. Lo que hiciste allí fue convertir los valores en una cadena y enviar la cadena C-Like. Pero si desea enviar los valores reales, este enfoque fue simplemente incorrecto (en lugar de enviar el valor '0x55', habría enviado la secuencia' {0x30, 0x78, 0x35, 0x35} 'que es' "0x55" ') –

+1

Sí, no lo envié binario. En mi terminal para puerto serial, vi la diferencia. ¡Gracias! – hnzjo

+0

¡Funciona a la perfección! ¿Puedo votar esta respuesta mil veces? –

Cuestiones relacionadas