안드로이드 전화/태블릿 (4.0.3)과 귀걸이 리더 인 블루투스 장치 사이에 블루투스 통신을 설정하려고합니다 (Destron Fearring DTR3E, 당신이 알고 싶은 경우에 대비해서, 나는 당신이하지 않는다고 가정).블루투스 통신을 청취하려고 할 때 수락에서 복귀하지 않음 - 안드로이드
블루투스 설정에서 리더가 리더와 페어링 (리더가 태그에 페어링 패스 코드가 있음), 블루투스가 켜져 있고 이제는 기기에서 읽는 것을 시도하고 있습니다. BluetoothServerSocket. 문제는 accept 호출이 결코 돌아 오지 않는다는 것입니다. 그래서 분명히 잘못된 것을하고 있습니다. 통신은 RFCOMM을 사용하여 수행됩니다.
코드 :
private class AcceptThread extends Thread {
private final BluetoothServerSocket mmServerSocket;
public AcceptThread() {
// Use a temporary object that is later assigned to mmServerSocket,
// because mmServerSocket is final
BluetoothServerSocket tmp = null;
try {
// MY_UUID is the app's UUID string, also used by the client code
String uuid = "00001101-0000-1000-8000-00805F9B34FB";
tmp = bluetoothAdapter.listenUsingInsecureRfcommWithServiceRecord("pdfParserServer", UUID.fromString(uuid));
} catch (Exception e) {
e.printStackTrace();
}
mmServerSocket = tmp;
}
public void run() {
BluetoothSocket socket = null;
// Keep listening until exception occurs or a socket is returned
while (true) {
try {
socket = mmServerSocket.accept();
} catch (IOException e) {
break;
}
// If a connection was accepted
if (socket != null) {
// Do work to manage the connection (in a separate thread)
try {
mmServerSocket.close();
} catch (IOException e) {
e.printStackTrace();
}
break;
}
}
}
/** Will cancel the listening socket, and cause the thread to finish */
public void cancel() {
try {
mmServerSocket.close();
} catch (IOException e) { }
}
}
내가 놓친 거지 뭔가가 있나요?
감사합니다.
실제로 이러한 장치에 대한 문제는 적절한 문서를 찾은 것입니다. –