2010-03-25 1 views
2

사용자 개입없이 블루투스를 통해 Android 장치에 연결하는 방법을 찾고 있습니다 (적어도 장치가 "검색 가능"으로 설정되어 있다고 가정). 2.0 이후 처음으로 서로 연결할 때 장치가 임의의 핀을 입력하도록 프롬프트를 표시합니다. 몇 가지 블루투스 프로젝트를 시도했지만 아무도 기본 Bluetooth 어댑터 코드가 항상 시작되는 것처럼 작동하지 않는 것 같습니다.Android : 핀을 묻지 않고 Bluetooth를 통해 다른 기기와 자동 페어링하는 방법은 없나요?

이 방법이 있습니까? 감사.

답변

0

보안 문제가 있기 때문에 가능하지 않습니다. 이것은 블루투스 장치가 당신과 연결하고 당신이 알아 차리지 않고 연락처 등을 추출 할 수있게합니다. 첫 번째 페어링에는 항상 사용자 개입이 필요합니다.

2

Janusz가 설명 하듯이 자동으로 다른 장치와 페어링 할 수는 없지만 페어링하지 않고도 다른 장치와 통신 할 수 있습니다. API 레벨 10부터는 BluetoothDevice.createInsecureRfcommSocketToServiceRecord 메서드와 일치하는 BluetoothAdapter.listenUsingInsecureRfcommWithServiceRecord 메서드를 사용하면 두 장치를 페어링하지 않고 "안전하지 않은"RFCOMM 채널을 만들어 연결할 수 있습니다. 이 채널은 중간자 공격 (man-in-the-middle) 공격에 취약합니다. 다른 장치는 연결을 가로 채어 모든 메시지를 읽고 메시지를 자체 메시지로 바꿀 수 있습니다. 귀하의 신청서에 문제가 될 수도 있고 아닐 수도 있습니다. 이 만으로도 RFCOMM 채널을 설정할 수 있습니다. 페어링하지 않고 (예를 들어) 헤드셋에 연결할 수 없습니다.

다른 장치의 주소를 이미 알고있는 경우 두 장치를 검색 할 필요없이이 작업을 수행 할 수 있습니다.

+0

안녕하세요, 내 대답에 대해 싫어하신 점을 알려 주시면 감사하겠습니다. –

+0

응답이 나에게 도움이되었고 downvoter가 결코 이유를 설명하지 않았기 때문에 나는 당신을 upvoted :) –

관련 문제