2011-11-07 25 views
8

tôi muốn gửi một chuỗi hex trong android qua bluetooth/SPP tôi đã cố gắng này:Làm thế nào để gửi giá trị Hex qua Bluetooth trong Android

ra = sock.getOutputStream();

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

để gửi Chuỗi này:

out.write(myHexString.getBytes()); 

nhưng đã không làm việc ...

bất kỳ sự giúp đỡ?

+1

bạn sẽ phải cung cấp cho bối cảnh hơn này. Sock là gì? Đó có phải là kết nối Bluetooth không? Một chiếc vớ bẩn? Bạn đang kết nối với thiết bị Bluetooth như thế nào? Bạn có kết nối với thiết bị Bluetooth không? Vui lòng cung cấp thêm mã. Ngoài ra "nó không hoạt động" không cung cấp đủ thông tin về vấn đề này. Đăng lỗi cũng như mô tả hay hơn về CÁCH không hoạt động. – Jack

Trả lời

10

vấn đề giải quyết với điều này:

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

Xem giải pháp này: Giải pháp trước đây của bạn không thể hoạt động. Những gì bạn đã làm ở đó là chuyển đổi các giá trị thành một chuỗi và gửi chuỗi C-Like. Nhưng nếu bạn muốn gửi các giá trị thực, phương pháp này đơn giản là sai (thay vì gửi giá trị '0x55', bạn sẽ gửi chuỗi' {0x30, 0x78, 0x35, 0x35} 'là' "0x55" ') –

+1

Có, tôi đã không gửi nó nhị phân. Trong thiết bị đầu cuối của tôi cho cổng nối tiếp, tôi thấy sự khác biệt. Cảm ơn bạn! – hnzjo

+0

Nó hoạt động hoàn hảo! Tôi có thể upvote câu trả lời này một nghìn lần? –

Các vấn đề liên quan