당신이 근처의 모든 무선 랜을 검색하려면이
가 wifiManager, 브로드 캐스트 리시버를 작성하려고하고 비동기 작업을 사용하여 모든 무선 랜을 스캔, 스캔의 결과는 방송 수신기에 얻을 것이다
WifiManager wManager = (WifiManager) getSystemService(Context.WIFI_SERVICE);
// wifi Scan
new wifiScan().execute(); // call to async task
BroadcastReceiver br = new BroadcastReceiver() {
@Override
public void onReceive(Context c, Intent intent) {
wifiList = wManager.getScanResults();
for (int i = 0; i < wifiList.size(); i++) {
ScanResult scanresult = wManager.getScanResults().get(i);
ssid = scanresult.SSID;//ssid is Name of wifi (String)
bid = scanresult.BSSID;// bssid: MAC of wifi (String)
level = scanresult.level;//level: strength of wifi(int)
}
};
// Async task
public class wifiScan extends AsyncTask<Void, String, Void> {
int i = 0;
protected void onPreExecute() {
}
protected void onPostExecute(Void results) {
if (results != null) { if (i < 6) { new wifiScan().execute();
}
}
}
@Override
protected Void doInBackground(Void... params) {
registerReceiver(br, new IntentFilter(
WifiManager.SCAN_RESULTS_AVAILABLE_ACTION));
wManager.startScan();
return null;
}
}
Wifi Direct (P2P)을 사용하면 라우터/액세스 포인트없이 Wi-Fi를 통해 두 장치간에 통신 할 수 있습니다. 이 기능은 Android 4.0에서 액세스 할 수 있다고 생각합니다. 그렇지 않으면 확실하지 않습니다.