안드로이드 개발 질문/답변
(글 수 45,052)
'안드로이드를 지배하는 통신프로그래밍' 책을 통해서 안드로이드를 학습하고 있습니다.
와이파이 스캔 정보의 브로드캐스트리시버 프로그램에서..
브로드캐스트리시버를 구현하고
그 중에
sendBroadcast(new Intent("wifi.ON_NETWORK_STATE_CHANGED"));
라고 적혀있는데요..
sendBroadcast가 어떤 상태의 변화가 발생했다는걸 알린다는 것으로 알고 있습니다.
sendBroadcast의 소스도 찾아보고 Intent에 대해서도 알아봤는데..
Intent("wifi.ON_NETWORK_STATE_CHANGED")
이 부분이 정확히 이해가 ;;
인텐트의 Constants를 봐도 "wifi.ON_NETWORK_STATE_CHANGED" 는 없고,
" "로 싸여진걸로는 문자열로 인식을 하는 것 같은데..
어떤 의미 인지 궁금합니다.
이를 활용하여 Service에서 상태 변화가 되었을 경우 sendBroadcast하고..
activity의 브로드캐스트리시버에서 변화에 따른 구현을 하였습니다.
여러번 테스트를 해보니
계속적인 변화를 받아 들일때도 있고..
그렇지 않을때도 있어서...
저의 구현부분에서 좀 잘못된 것같은데..
많은 조언 부탁드립니다~
지금쯤은 파악하셨으리라 생각되지만 주트님이 궁금해 하시는 Intent("....") 에서 저 "" 는 인텐트 액션입니다.
인텐트필터를 통하여 브로드캐스트리시버에 해당 액션을 등록을 한 후, 해당 액션이 발생되면,
브로드캐스트리시버가 해당 액션을 받아 동작을 하게 되는 것이죠.
해당 액션은 Intent 보다 WifiManager를 통하여 살펴 보셔야 합니다.
아래의 링크를 참조 하세요
http://developer.android.com/reference/android/net/wifi/WifiManager.html#WIFI_STATE_CHANGED_ACTION