2011-10-26 2 views
2

나는 쌍을하는 방법에 대한 도움을 할당한다이다이 http://developer.android.com/guide/topics/wireless/bluetooth.html#QueryingPairedDevicesAndroid에서 블루투스 Decipe를 수동으로 페어링 하시겠습니까?

을 읽고 있었다, 블루투스 장치에 연결합니다.

필자는 항상 비 - 검색 모드에있는 여러 개의 BT 장치가있는 상황이 있습니다. 나는이 장치들의 MAC과 PIN을 안다. 안드로이드 데브에 수동으로 클라이언트를 연결하기 위해 PAIRED 목록에 장치를 수동으로 추가 할 수있는 방법이 있습니까? 이 편지는 V3에 할당 된 것으로 알고 있습니다. 2.0에서이 작업을 수행해야한다고 생각합니다. 아무도 이것을 전에 한 적이 있습니까?

기본적으로 연결하려는이 장치들은 절전 모듈입니다. 저는 일광, 다른 습도 등을 모니터링하기 위해 미리 빌드 된 BT 모듈을 사용합니다. 매 3 시간마다 또는 중단되고 한 달 동안 배터리가 하나씩 실행됩니다. 따라서 서버에서 divcory를 끄면 엄청난 전력을 절약하고 다른 사람들이 배터리를 연결하고 낭비하는 것을 방지합니다.

답변

3

"수동"이란 의미가 확실하지 않은 경우 : GUI/사용자 상호 작용 에서처럼 "수동"을 의미합니까, 아니면 "내 응용 프로그램 코드에서합니까?"로 "수동"을 의미합니까? 하지만

제안 :

  • 은 안드로이드 검색을하자 찾을

    1. 를 검색하여 BT 장치를 확인하십시오 : 당신이 전혀 BT 장치를 검색 할 수 있도록 할 수있는 경우

      , 당신은 이런 식으로 할 수 장치를 연결 한 다음 연결을 시작하십시오.

    2. Android는 장치와 페어링하기 위해 PIN을 요청합니다. PIN을 입력하십시오.
    3. 페어링이 성공하면 Android는 나중에 사용할 수 있도록 페어링 정보를 저장하므로
    4. BT 장치가 다시 표시되지 않도록 설정합니다.

    다음으로 앱을 페어링하지 않고도 언제든지 BT 기기에 연결할 수 있어야합니다. 어느 쪽도 기록하지 않으며 정상 SDK에 노출되는 구현 다른 API 루틴가 현재 안드로이드 버전

    : 상기 경우

    어쩌면 다른 길을 가고 싶어, 당신을 위해 옵션이 아닙니다. 해킹 같은 종류의 솔루션은 리플렉션 또는 SDK 설치 수정을 통해 이러한 "숨겨진"("@hide"...) API 중 일부를 사용하는 것일 수 있습니다.

    하지만 항상 해킹이며 특정 버전의 Android가있는 특정 기기에서 작동하며 다른 기기 및/또는 다른 Android 버전에서 앱을 중단 할 수 있습니다.

    Example of how to access "hidden" bluetooth API :

    는 여기에 몇 가지 참조를 제공했다 가졌어요.

    그런 다음 android.bluetooth.BluetoothDevice의 소스 코드를 살펴보십시오. here.

    거기에 public boolean createBond(){...}은 원하는대로 할 수 있습니다.