2011-06-02 33 views
0

例如,我想檢查wifi是否永久啓用。如果它啓用,我的按鈕將打開,如果它關閉我的按鈕將關閉,但是當我使用我的方法(我將提供它)它只會檢查一次創建應用程序時,但我希望它檢查爲長儘可能直到電話被關閉或它被殺死的過程中,如果有人能夠幫助那會很好!只要應用程序打開,如何檢查方法

無線上網的檢查方法:

public void checkWifi() { 

    WifiManager wifim = (WifiManager) getSystemService(Context.WIFI_SERVICE); 
    ToggleButton wifi=(ToggleButton)findViewById(R.id.wifibutton); 

    if (wifim.getWifiState()==(WifiManager.WIFI_STATE_ENABLED)) { 

     wifi.setChecked(true); 

    } else { 

... 

} 
+0

Android應用程序永遠不會「關閉」,除了Web應用程序「關閉」之外。請將您的問題重新定義爲適合該體系結構的東西。 – CommonsWare 2011-06-03 00:02:05

+0

好的,我會編輯這個問題。 – Test2e31234234 2011-06-03 01:11:57

回答

3

檢查創建WiFi的狀態,並註冊一個廣播接收器收聽到的變化,而如果WIFI熄滅,改變你的狀態。

private final BroadcastReceiver mIntentReceiver = new BroadcastReceiver() { 
     @Override 
     public void onReceive(Context context, Intent intent) { 
      // Handle receiver 

      ConnectivityManager mConnectivity; 
      mConnectivity = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); 

      NetworkInfo info = mConnectivity.getActiveNetworkInfo(); 
      if (info == null || !mConnectivity.getBackgroundDataSetting()) { 
       //CHANGE YOUR BUTTON HERE BECAUSE THERE IS NO NETWORK AT ALL 
       return; 
      } else { 
       int netType = info.getType(); 
       int netSubtype = info.getSubtype(); 
       if (netType == ConnectivityManager.TYPE_WIFI) { 
        //CHANGE YOUR BUTTON HERE BECAUSE THERE IS WIFI 

       } else { 
        //CHANGE YOUR BUTTON HERE BECAUSE THERE IS NETWORK BUT ITS NOT WIFI 
       } 
      } 

     } 
    }; 
+0

謝謝你!!!!! – Test2e31234234 2011-06-03 04:08:16

+0

我怎麼能用這個想法來聆聽和播放,正如你所看到的,我是新來的廣播者和接收者 – Test2e31234234 2011-06-03 04:33:27

相關問題