2012-11-02 2 views
2

일부 유료 Wi-Fi 액세스 포인트가있는 경우이를 연결하는 애플리케이션을 개발하려고합니다. 나는 30 초 간격으로 반복되는 서비스를 시도하고이 특별한 Wi-Fi 액세스 포인트가 사용 가능한지 확인합니다. 리소스가 너무 많이 소모 될 수 있습니다. 어떤 가능성이 있다면 솔루션을 생각하고 있습니다. WifiManager (또는 다른 유틸리티)는 새로운 무선 액세스 포인트에 대한 내 서비스를 알려줍니다. 그것은 새로운 와이파이 액세스 포인트 수신기와 같습니다.Android WiFi 액세스 포인트 사용 가능 이벤트

안드로이드에이 목표를 달성 할 수있는 유틸리티가 있습니까?

답변

2

귀하의 안드로이드 장치는 WiFi 무선 기능이 켜져있을 때 정기적으로 WiFi 네트워크를 검색한다는 점에 유의해야합니다. 따라서 수동으로 확인하지 않아도됩니다. 그것은 OS의 부하를 두 배로 늘릴 것입니다.

서비스 내에서 SCAN_RESULTS_AVAILABLE_ACTION에 대한 수신기를 설정할 수 있습니다. 장치가 정기적 인 스캔 프로세스를 완료하면이를 알려줍니다. 이 브로드 캐스트를 수신하면 모든 액세스 포인트를 확인하여 원하는 액세스 포인트를 사용할 수 있는지 여부를 확인하십시오. 그러나 WiFi가 켜져있는 동안에 만이 작업을 수행 할 수 있습니다. 그러나 WiFi를 켜고 끄는 것보다는 계속 켜고 끄는 것이 좋습니다. 특히 30 초 정도의 짧은 시간 간격으로 배터리를 켜면 배터리가 훨씬 빨리 소모됩니다.

+1

나는 같은 질문을하고 싶습니다. 규칙적인 시간은 무엇입니까? 이 스캐닝 때문에? 그것에 대해 알고 계신가요? 그런데 명확한 대답에 감사드립니다. – Alper

+2

다양한 요소에 따라 달라집니다 : CPU 속도, RAM, 활성 작업 수는 전화와 전화에 따라 다릅니다. 브로드 캐스트 리시버를 확인하고 시간을 인쇄 할 수 있습니다. 일반적으로 약 15 초 (전 LG LU3000 듀얼 코어에서 확인) 및 많이 다릅니다. –

1

인터넷에서 샘플을 볼 수 있습니다. 귀하의 응용 프로그램은 다음과 유사한 기능을 수행 할 수 있습니다

+0

이미이 논리를 내 응용 프로그램에 적용했습니다. 새 Wi-Fi 액세스 포인트를 사용할 수있는 경우 알리미가 필요합니다. 신중하게 질문을 읽으면 약간 다른 접근 방식이 필요합니다. – Alper

+0

스캔 결과에 따라 WiFi 관리자가 알림을받습니다. 최신 검사 결과를 저장하고 새 목록이 도착하면 비교할 수 있습니다. 반복하거나 폴링 할 필요가 없습니다. 오버 헤드는 목록 비교에서만 발생합니다. 자세한 내용은 여기를 참조하십시오 : http://stackoverflow.com/questions/4253249/android-get-notified-when-a-new-access-point-is-detected – SomeWittyUsername

+0

좋아요, 요점을 보니 "SCAN_RESULTS_AVAILABLE_ACTION "내 솔루션을 위해 작동합니다 (어댑터를 닫은 후 수신자가 입력 할 때 wifi aps가 변경되지 않습니다). 그러나 나는 그 부분을 이해하지 못한다. 안드로이드가이 신호를 방송하는 일정은 무엇인가? 이 스캔을위한 시간 간격이 있습니까? 이것에 대한 의견? – Alper

관련 문제