마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

동일 버튼 누룰 시 조건문이 안먹히는데 이유좀 알려주세요..

0 추천
View.OnClickListener btnlistener = new View.OnClickListener() {
public void onClick(View v) {
switch (v.getId()){
case R.id.btn:
if(mobile.isConnected() | wifi.isConnected()){
tv.setText("연결되었습니다.");
}else {
tv.setText("3G & 4G & Wifi를 연결해주세요.");
}}}};
 
지금만들고있는건 다른것 인데요... 간단하게 위해서 저렇게 줄여놧습니다.
 
앱을 실행 후 -> 3G 4G wifi 연결 되어 있을 때 버튼을 누루면 연결 되어 있다고 텍스트에 찍힙니다.
근데 앱을 끄지않고 3G 4G wifi 모두 다끄고 버튼을 다시 누루게되면 3G &4G&Wifi를 연결해주세요가 찍혀야 되는데
연결 되어 있다고 뜹니다. 즉 앱을 실행했을때 온크리트안에 조건문을 넣어둔게 아닌 버튼을 클릭 시 조건문을넣어놨는데
엑티비티에서 아예 처음 버튼 누룰 때를 인식 해버리고 그뒤에 데이터를 키든 와이파이를 키든 인식을 못하네요...
어떤방식으로 데이터&와이파이를 현재에맞게 인식해야되는지 아무리찾아봐도 없네요 ㅠ_ㅠ좀도와주시면 감사하겠습니다.
콜벳 (7,150 포인트) 님이 2014년 8월 12일 질문

1개의 답변

0 추천
 
채택된 답변
mobile은 뭐고 wifi는 뭔가요?
익명사용자 님이 2014년 8월 12일 답변
콜벳님이 2014년 8월 12일 채택됨
모바일은 3G 4G 체크이고 wifi는 wifi체크입니다
if(mobile.isConnected() | wifi.isConnected())
-> 3G4G 혹은 wifi가 연결되어있으면
mobile.isConnected() 랑 wifi.isConnected() 내용이 어떻게 되나요?
mobile.isConnected()  ->  3G 4G 가 연결 되었을 때
 wifi.isConnected()  -> Wifi 가 연결 되었을 때 입니다
mobile 및 wifi가 ConnectivityManager를 통해 얻은 NetworkInfo 객체라면
NetworkInfo를 얻은 시점의 상태일 가능성이 높습니다.
버튼 클릭시 ConnectivityManager에서 NetworkInfo를 다시 얻어서 필요한 작업을 하도록 수정해보세요.
감사합니다!! 해결됫습니다... ^^ 정말 감사드립니다~
...