2014-12-28 4 views
-3

개인 프로젝트에서 Wifi를 직접 사용할 수있는 주변 장치를 표시하는 레이더를 만들고 싶습니다. 탐지 된 장치는 내 장치 위치에 상대적으로 레이더보기에 표시되어야합니다 (보기의 중심 역할을합니다).Wifi Direct를 통해 자신과 관련된 다른 장치 위치를 감지합니다.

내가 할 수있는 API에서 찾을 수있는 것이 없으며 예제를 사용할 수 있습니다. 시작하려면 올바른 방향으로 밀어 넣지 못했습니다.

+0

어떤 기기 또는 특정 기기에 대해 이야기하고 있습니까? "어쩌면"가능할 수있는 방법은 다른 장치가 장치를 감지 할 수 있도록 각 장치에 서비스를 설치하는 것이지만 사생활 침해에 대한 것입니다 ... 아마도 다른 방법은 특정 장치가 장치에 대해 알도록 라우터를 수정하는 것입니다 해당 라우터에 연결됩니다. 물론 다른 "Wi-Fi 지원"장치에 자신의 위치로 응답하도록 요청하는 메시지를 무선으로 보낼 수는 없습니다. –

답변

1

당신은 기술 개요 here in the Android docs을 사용하여 그것을 할 수 있다고 생각합니다. (나는 지금 그것으로 실험하고있다, 그러나 다른 목적을 위해). 기본적으로 장치를 통해 브로드 캐스트하고 DNS-SD TXT records을 검색 할 수 있습니다. Android 문서에서 볼 수 있듯이 Map 객체를 이러한 레코드 중 하나에로드하면 수신 장치에서 읽을 수 있습니다. 그것은 많은 바이트를 지원하지 않습니다. (이미지가 너무 길어서 Base64 문자열로 변환 된 것을 막으려 고했지만) 위도와 경도 문자열을 지원합니다. 물론 사용자가 앱을 설치하려면 양쪽에 앱을 설치해야합니다. 상호 작용은 대용량의 데이터를 교환해야 할 때까지 수동적 일 수 있습니다. 소켓을 설정해야 할 때 등 사용자가 클릭하여 팝업 대화 상자에서 동의해야합니다.

샘플 코드를 복사하여 붙여 넣으면 빌드 할 수있는 것을 얻을 수 있습니다.