Android :: Enable / Disable Wifi

Android cihazın wifi durumuna erişip, ağa bağlı mı değil mi kontrolü yapan ve wifi durumunu etkinliştirip / devre dışı bırakan basit bir sayfa için aşağıdaki metodlar kullanılabilir. Metodların çalışabilmesi için wifi durumuna erişim ve wifi durumunu değiştirebilme izinlerini manifest dosyasına eklemek gerekir.

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

WifiManager’dan bir nesne oluşturup, bu nesnenin özelliklerini ve metodlarını kullanacağız.

WifiManager wifi = null;

Nesneyi global tanımlamakta fayda var. İki metod içerisinde de bu nesne kullanılacak.
Aşağıdaki metod çağrıldığında önce wifi durumu kontrol ediliyor. Eğer aktif ise önce devre dışı bırakılıyor, sonrasında kullanıcıya wifi’ın devre dışı bırakıldığına dair bir uyarı mesajı gösteriliyor. Eğer devre dışı bırakılıyorsa sadece kullanıcıya wifi’ın devre dışı bırakılıyor olduğuna dair bir mesaj gösteriliyor. Diğer durumlarda ise -örneğin wifi zaten devre dışı ise- hiçbir iş yapılmıyor.

private void disableWifi() {
		try {
			wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);
			if (wifi.getWifiState() == WifiManager.WIFI_STATE_ENABLED) {
				wifi.setWifiEnabled(false);
				showNotification("Wifi is disabled!");
			} else if (wifi.getWifiState() == WifiManager.WIFI_STATE_DISABLING){
				showNotification("Wifi is disabling!");
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

Aşağıdaki metod da yukarıdakinin tam tersi işleri yapıyor.

private void enableWifi() {
		try {
			wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);
			if (wifi.getWifiState() == WifiManager.WIFI_STATE_DISABLED) {
				wifi.setWifiEnabled(true);
				showNotification("Wifi is enabled!");
			} else if (wifi.getWifiState() == WifiManager.WIFI_STATE_ENABLING){
				showNotification("Wifi is enabling!");
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

Metodlarda kullanılan showNotification() metodu ise sadece parametre olarak aldığı stringi Toast mesajı olarak ekranda gösteriyor. İçeriği de aşağıdaki gibi:

private void showNotification(String message) {
		Toast.makeText(getApplicationContext(), message, Toast.LENGTH_SHORT).show();
	}

İlgili olabilecek yazılar:

EcaHack Hackathon @ Android Developer Days 2013 Ardından
Android :: JSON Parse İşlemleri – 2
Android :: JSON Parse İşlemleri – 1
Android :: Sayfalar Arası Veri Aktarımı – 1
Android :: Webservisten Dönen İç İçe Yapıdaki XML’in Parse Edilmesi


Bir Cevap Yazın