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(); }
Yorum yazın