2012-01-03 21 views
7

Wi-Fiを有効または無効にするためのウィジェットを作成しようとしています。WiFiの状態が有効ではありません

if(myWifiManager.isWifiEnabled()){ 
      System.out.println("Toggle Wifi Enabled going to disable"); 
      myWifiManager.setWifiEnabled(false); 
     } 
     else{ 
      System.out.println("Wifi Disabled going to enable "); 

      myWifiManager.setWifiEnabled(true); 
      System.out.println("WI: "+myWifiManager.isWifiEnabled()); 
     } 

これは無効な部分を使用しているコードですが、有効になっている部分が正常に動作していません。すぐwifiを有効にした後、私はwifi状態を印刷しています。私はそれをfalseにしています。

答えて

9

ここではAndroidでWi-Fiをオン/オフする方法を説明します。

まず、あなたのActivityクラス

private WifiManager wifiManager; 
@Override 
public void onCreate(Bundle icicle) { 
.................... 
wifiManager = (WifiManager) this.getSystemService(Context.WIFI_SERVICE); 
if(wifiManager.isWifiEnabled()){ 
wifiManager.setWifiEnabled(false); 
}else{ 
wifiManager.setWifiEnabled(true); 
} 

}

説明でそれそれをやった後にマニフェストファイル

<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission> 
<uses-permission android:name="android.permission.UPDATE_DEVICE_STATS"></uses-permission> 
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"></uses-permission> 
<uses-permission android:name="android.permission.WAKE_LOCK"></uses-permission> 

で、次の宣言する必要があり

私たちの無線LANが現在オンまたは当社のWiFi wifiManager.setWifiEnabledオン/オフ

if(wifiManager.isWifiEnabled()){ 

の電源をオフになって確認してください、私たちのシステムから

wifiManager = (WifiManager) this.getSystemService(Context.WIFI_SERVICE); 

を無線LANサービスを取得します。 ();

リファレンス

WifiEnabler

http://google-androidlovers.blogspot.com/2012/01/scan-for-wireless-networks-in-android.html

http://www.java2s.com/Open-Source/Android/android-platform-apps/Settings/com/android/settings/wifi/WifiApEnabler.java.htm

+2

UPDATE_DEVICE_STATSはシステムアプリケーション専用です – Superbiji

+0

「UPDATE_DEVICE_STATS」(@Superbijiは正しいはずですが、使用すべきではありません)以外の他の権限は「通常」レベルです。だから、あなたがそれらのアクセス許可を必要とする何かをしようとすると、Androidはあなたに叫ぶことはありません。 IIRCでは、logcatで何も表示されません。 – tir38

関連する問題