2010-05-20 3 views
2

Я пытаюсь имитировать успех gilead (here), но пока его код в моем приложении не удается. Я пробовал несколько UUID, но ничего не работает. Когда я бегу sdptool records [address] я получаю:Android SPP bluetooth для Android-устройства

$ sdptool records 00:12:F3:04:80:80 
sdptool records 00:12:F3:04:80:80 
Service Name: SPP 
Service RecHandle: 0x10001 
Service Class ID List: 
"Serial Port" (0x1101) 
Protocol Descriptor List: 
"L2CAP" (0x0100) 
"RFCOMM" (0x0003) 
Channel: 1 
Failed to connect to SDP server on 00:12:F3:04:80:80: Connection timed out 

Это показывает, что устройство находится на канале 1, так что я не понимаю, почему этот код не работает. У меня работает Android 2.1. Я не могу каким-либо образом получить доступ к другому устройству и при отладке tmpsock имеет все правильные значения до того, как вызывается .connect().

Моего код

public void test(BluetoothDevice d) throws Exception 
{ 
BluetoothSocket tmpsock = null; 
OutputStream out = null; 
InputStream in = null; 
int port = 1; 
Method m = d.getClass().getMethod("createRfcommSocket", new Class[] { int.class }); 
tmpsock = (BluetoothSocket)m.invoke(d, port); 
Log.d("BT", "CONNECTING!!!!"); 
tmpsock.connect(); 
Log.d("BT", "CONNECTED!"); 
    ... 
} 

ответ

Смежные вопросы