2013-02-27 3 views
3

이미 페어링 된 블루투스 장치에 Android 전화를 프로그래밍 방식으로 연결하려고합니다. 스레드에서 createRfcommSocketToServiceRecord (UUID) 메서드를 사용하고 있습니다. 블루투스 키보드를 안드로이드 장치에 연결할 수 없습니다.

은 내가 블루투스 키보드 그래서 난

00001124-0000-1000-8000-00805f9b34fb

위의 방법은 BluetoothSocket을 반환로 UUID를 사용하여 오전 HID 장치 알고 객체이지만 BluetoothSocket.connect()가 호출되면 HID 장치에 연결되지 않습니다. 그것은 를 제공합니다. IOException : 발견이 실패했습니다.

나는 이것을 많이 고쳤지만 이것을 고치는 방법을 찾지 못했습니다.

안드로이드에서이 접근법을 사용하여 Rfcomm과 HID 장치를 연결할 수 있습니까? 이면 대체 방법을 사용해야합니까? 나는 안드로이드 4.1이 응용 프로그램에서 (설정에서) 내가 SMS를 같은 일부 inbuilt 애플 리케이션에서 블루투스 키보드를 사용하여 입력 할 수 후 페어링과 함께 삼성 갤럭시 S3를 사용하고 있습니다. 그것 그게 가능해야 연결하는 것 같습니다 , 나는 올바른 접근법을 사용하고 있다면 이 아닐 것입니다. 내 앱에서 keypress 시리얼 데이터를 읽고 싶다.

private class ConnectThread extends Thread { 
    private final BluetoothSocket mmSocket; 

    public ConnectThread(BluetoothDevice device) { 
     BluetoothSocket tmp = null; 
     try { 
      tmp = device.createRfcommSocketToServiceRecord(mUUID); 
     } catch (IOException e) { 
      e.printStackTrace(); 
     } 
     mmSocket = tmp; 
    } 

    public void run() { 
     try { 
      mmSocket.connect(); 
     } catch (IOException connectException) { 
      try { 
       mmSocket.close(); 
      } catch (IOException closeException) { } 
      return; 
     } 

     Log.d(TAG, "ConnectThread connection successful"); 
    } 

    public void cancel() { 
     try { 
      mmSocket.close(); 
     } catch (IOException e) { } 
    } 
} 
+0

받았습니까? 프로그래밍 방식으로 안드로이드를 블루투스 HID 장치에 연결 하시겠습니까? 지금 같은 문제는 = /. –

답변

2

인가 RFCOMM을 연결할 수 전용이며 안드로이드에서이 방법을 사용하여 장치를 HID하지 :

여기에 내가 사용하고있는 코드는?

예, 불행히도. 자바 메소드의 이름은 rfcomm 만 지원된다는 것을 분명히합니다. HID는 raw l2cap에서 작동 할 가능성이 큽니다.

InputDevice 또는 takeKeyEvents을 사용해 앱에서 키 누르기 데이터를 가져 오십시오.