2012-01-03 34 views
7

Ben wifi etkinleştirmek ve devre dışı bırakmak için bir widget oluşturmaya çalışıyorum. WiFi durumu etkin değil

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()); 
     } 

Bu

i iyi çalışıyor ama sağlayan kısım cezası çalışmıyor devre dışı bırakılması kısmını kullanıyorum kodudur. Yakında wifi sağladıktan sonra wifi durumu yazdırıyorum yanlış olarak alıyorum.

cevap

9

Android'de wifi özelliğini açıp kapatabilirsiniz.

Öncelikle Etkinlik sınıfının

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); 
} 

}

açıklanması üzerine o yaptıktan sonra Manifest'inizde dosyası

<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> 

aşağıdaki beyan gerekmektedir

.210

bizim wifi anda açma/kapama bizim wifi wifiManager.setWifiEnabled üzerinde

if(wifiManager.isWifiEnabled()){ 

açın açıldığında veya kapatıldığında sistemimizde

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

Kontrol gelen Wifi hizmeti alın();

Referans

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 yalnızca sistem uygulaması içindir – Superbiji

+0

'UPDATE_DEVICE_STATS' dışında (hangi @Superbiji doğru, kullanılmamalıdır) diğer izinler normaldir. Bu izinleri gerektiren bir şey yapmaya çalışırsanız Android size bağırmayacaktır. IIRC, logcat'ta bir şey görmeyeceksin. – tir38