2011-10-10 1 views
1

독점적 인 블루투스 장치를 사용하는 내 응용 프로그램에서 장치와 관련된 몇 가지 문제를 자체 수정 중입니다. 이러한 문제 중 하나는 전화가 페어링 된 것으로 생각하고 기기가 인식하지 못하기 때문에 전화가 페어링되어 다시 페어링 될 때까지 연결을 거부합니다. 대답을 사용하여 here을 찾았습니다. 코드에서이 작업을 수행했습니다. 그러나 이제는 내 소스 트리에 android.bluetooth 아래에 aidl이 있기 때문에 조금 안전합니다. 이것은 몇 가지 2.2 및 2.3 휴대 ​​전화와 함께 내 테스트에서 잘 작동하는 것 같지만, 미래 버전에서 다시 작성해야 할 필요가 있습니까? 아니면이 지역 보조 장치를 만드는 것은 실제로 미래의 변화로부터 나를 보호합니까? 더 읽기에 대한 안내는 환영합니다.시스템 프로세스의 "개인"보조 장치의 안전성

답변

3

내가 연상 한 답변이 비공개 API를 호출하는 것처럼 보입니다. 향후 Android 버전에서 언제든지 변경 될 수 있으므로주의하시기 바랍니다.

를하지만 향후 버전에서 다시 작성하는 데 열입니다 :

는 질문에 대답하려면?

예, 비공개이므로 이러한 비공개 API는 예고없이 언제든지 변경 될 수 있습니다.

이 로컬 보조 기능을 실제로 만들면 실제로 미래가 보전되지 않습니까? 변경 사항이 있습니까?

아니요, 귀하를 보호하지 않습니다. 그들은 예고없이 android.os.ServiceManager 또는 android.bluetooth.IBluetooth의 내용을 변경할 수 있으며 최신 버전의 Android에서는 코드가 손상 될 수 있습니다.

나는 조금 반복적이지만 사적인 API를 사용하면 미래에 당신을 물을 수 있습니다. 그러나 이것이이 작업을 수행 할 수있는 유일한 방법 일 수도 있습니다.

+0

그것이 내가 두려워했던 이유입니다. :) BT 지원이 더 좋아지고 있습니다 (2.2로 다중 연결 지원, 2.3으로 createInsecureRfcommSocketToServiceRecord). 아마도 차후 버전에서 더 완벽한 인터페이스를 얻을 수있을 것입니다. 고마워, Greg – gbryant

+0

@gbryant 실제로 안드로이드 1.5/1.6 버전의 블루투스 용 개인 apis를 사용해야했지만, 말했듯이 블루투스 용으로 공개적으로 api를 천천히 만들어야합니다. 나는 당신이 궁극적으로 미래에 더 많은 api를 통합 할 것이라는 희망적인 기대로 사립 apis로 괜찮을 것이라고 생각합니다. –