2013-06-26 2 views
0

내 응용 프로그램에는 wifi를 활성화하거나 비활성화해야하는 토글 버튼이 있습니다.Wi-Fi의 토글 버튼 상태를 어떻게 확인할 수 있습니까?

public void getRisparmio(View view) { 
    // is the toggle on? 
    boolean on = ((ToggleButton) view).isChecked(); 

    WifiManager wifiManager; 
    if (on) { 
     wifiManager(WifiManager) this.getSystemService(Context.WIFI_SERVICE); 
     wifiManager.setWifiEnabled(true); 
    } else { 
     wifiManager(WifiManager) this.getSystemService(Context.WIFI_SERVICE); 
     wifiManager.setWifiEnabled(false); 
    } 
    } 

이제 문제는 Wi-Fi가 이미 활성화되어 있고 앱을 시작한 경우 토글 버튼을 눌렀거나 활성화해야한다는 것입니다. 실제로 이동하지 않고 토글은 항상 상태를 다시 시작합니다. 나는 onResume() 상태를 확인할 수 있다고 생각하지만 나는 어떻게해야할지 모르겠다. 만약 내가 onCreate() 메쏘드에 뭔가를 추가해야만하는지 모른다.

상태를 확인하려면 어떻게해야합니까? 감사합니다

+0

Wi-Fi 상태 변경 및 버튼 상태 변경 토글 여부 – frogmanx

+0

코드는 내가 게시 한 것입니다. 사실 토글이 켜지면서 상태가되고 Wi-Fi가 켜지면 다시 클릭하면 Wi-Fi가 꺼집니다. 응용 프로그램은 잘되지만 문제는 내가 쓴 것입니다. 토글 버튼의 ​​상태는 응용 프로그램을 열 때 wifi가있는 상태에 따라 달라야합니다. 같은 –

답변

0

당신은 같은 토글 버튼의 ​​방법을 사용하여에서 onCreate()와 onResume()에 토글 버튼을 설정해야합니다 :

toggleButton.setChecked(wifiManager.isWifiEnabled()); 

일예를

@Override 
protected void onResume() 
{ 
    super.onResume(); 
    WifiManager wifiManager = (WifiManager) this.getSystemService(Context.WIFI_SERVICE); 
    ToggleButton toggleButton = (ToggleButton) findViewById(R.id.toggleButton1); 
    toggleButton.setChecked(wifiManager.isWifiEnabled()); 
} 
+0

뭔가 : '보호 무효 onResume() Override''@ {' 'super.onResume();' 'toggleButton.setChecked (wifiManager.isWifiEnabled());' '}'? –

+0

당신은 변수를 재 선언해야하지만, 본질적으로 그렇습니다. – frogmanx

+0

mmh, "유형이 WifiManager 인 정적이 아닌 메서드 isWifiEnabled()에 대한 정적 참조를 만들 수 없습니다." 하지만 'isWifiEnabled()'를 어디에서 가져 왔습니까? –

관련 문제