2011-07-26 10 views
1

블루투스를 통해 두 개의 Android 기기를 연결하는 앱을 작성하려고합니다.Android. 블루투스 기기 연결

하나의 장치가 들어오는 연결을 수신하는 동안 클라이언트의 역할을하는 동안 서버의 역할을하며 서버의 MAC 주소를 사용하여 연결을 초기화한다는 것은 자명합니다.

다음과 같은 고려 :

이 내 주머니에 내 안드로이드 전화를 가지고, 내 안드로이드 태블릿에 작업을 시작합니다. 내 주머니에서 전화를 꺼내지 않고도 태블릿을 (블루투스를 통해) 전화에 연결하고 싶습니다 (전화를 꺼내어 들어오는 연결을 수동으로 듣고 싶지는 않습니다).

이것을 달성하는 좋은 방법은 무엇입니까? 24/7 연결을 끊임없이 듣고 전화를 서버로 만들어야하는 것 같습니다. 그러나, 내 직감이 격렬하게 배터리가 소모 될 것이라고 말한다.

제안 사항?

답변

1

맞습니다. 휴대 전화 (또는 태블릿)를 서버로 만들 수 있습니다. 그러나 그것은 많은 배터리를 사용해서는 안됩니다. 서버 소켓을 설정하고 accept 연결을 시작하면 코드가 단순 차단되고 들어오는 연결을 기다립니다. 내 경험에 비추어 볼 때, 배터리가 너무 많이 소모되는 것을 발견하지 못했다.

서버와 관련된 UI가있는 경우 UI 이벤트를 차단하지 않도록 서버 소켓을 별도의 스레드로 분할해야합니다.

1

일반적으로 휴대 전화는 이러한 방식으로 작동합니다. 즉, 페어링 된 기기에서 들어오는 연결을 기다립니다. 들어오는 연결에 대한 대기/검색은 폴링 모드에서 장치를 찾거나 연결하는 것보다 전력 소모가 적습니다. 많은 블루투스 칩은 전력 효율적인 스캔을 구현하는 저전력 스캔을 가지고 있습니다.