Giriş
Şu satırı dahil ederiz.
import android.content.BroadcastReceiver;
import android.net.wifi.WifiManager;
import android.net.wifi.ScanResult;
İzinler
En azından şu izinler olmalı
Şöyle yaparız.
Şöyle yaparız.
Şöyle yaparız.
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
Belki şu izin de gerekebilir.<uses-permission android:name="android.permission.INTERNET" />
constructorŞöyle yaparız.
WifiManager wm = (WifiManager) getSystemService (Context.WIFI_SERVICE);
addNetwork metoduŞöyle yaparız.
WifiConfiguration conf = ...;
...
int netId = wm.addNetwork(conf);
disconnect metoduŞöyle yaparız.
wm.disconnect();
getConfiguredNetworks metodu
Wifi ağları şöyle bulunur.
List<WifiConfiguration> configs = wm
.getConfiguredNetworks();
Şöyle yaparız.
List<WifiConfiguration> wifiList = wifiManager.getConfiguredNetworks();
for( WifiConfiguration i : wifiList ) {
if(i.SSID != null && i.SSID.equals("\"" + networkSSID + "\"")) {
wifiManager.disconnect();
wifiManager.enableNetwork(i.networkId, true);
wifiManager.reconnect();
break;
}
}
getConnectionInfo metodu
WifiInfo nesnesi döner. Şöyle yaparız.
WifiInfo wifiInfo = manager.getConnectionInfo();
if(wifiInfo!=null) {
...
}
getDhcpInfo metodu
Tarama bitince sonuçları şöyle alınır.
List<ScanResult> wifiScanList = wm
.getScanResults();
isWifiEnabled metodu
Örnek
Şöyle yaparız.
Şöyle yaparız.
Şöyle yaparız.,
Şöyle yaparız.
if(wm.isWifiEnabled()) {...}
ÖrnekŞöyle yaparız.
if (!wm.isWifiEnabled()){
wm.setWifiEnabled(true);
}
setWifiEnabled metoduŞöyle yaparız.,
wm.setWifiEnabled(true);
startScan metodu
Tarama şöyle başlatılır. Tarama bitince sonuçları BroadcastReceiver ile alınır.
wm.startScan();
Şöyle yaparız.MyWifiReceiver receiverWifi = new WifiReceiver();
wm.startScan();
registerReceiver(receiverWifi, new IntentFilter(
WifiManager.SCAN_RESULTS_AVAILABLE_ACTION));
Receiver şöyledir.class MMyWifiReceiver extends BroadcastReceiver {
public void onReceive(Context c, Intent intent) {
List<ScanResult> wifiList = wm.getScanResults();
for(int i = 0; i < wifiList.size(); i++){
...
}
}
}
Hiç yorum yok:
Yorum Gönder