Android-列出wifi接入点

Android-列出wifi接入点,android,wifi,Android,Wifi,我想获取wifi接入点列表。非常感谢。我的代码如下 public static void backupWifi(Context context) { WifiManager wifiManager = (WifiManager) context .getSystemService(Context.WIFI_SERVICE); WifiInfo wifiInfo = wifiManager.getConnectionInfo();

我想获取wifi接入点列表。非常感谢。我的代码如下

public static void backupWifi(Context context) {
        WifiManager wifiManager = (WifiManager) context
                .getSystemService(Context.WIFI_SERVICE);
        WifiInfo wifiInfo = wifiManager.getConnectionInfo();

        String id = wifiInfo.getBSSID();
        int ip = wifiInfo.getIpAddress();
        String MAC = wifiInfo.getMacAddress();
        String SSID = wifiInfo.getSSID();
        int idnw = wifiInfo.getNetworkId();


            Log.v("ID", id);
            Log.v("IP", String.valueOf(ip));
            Log.v("MAC", MAC);
            Log.v("SSID", SSID);
            Log.v("idnw", String.valueOf(idnw));
        }

首先获取可用wifi点的列表-

WifiManager wifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE);
        List<ScanResult> apList = wifiManager.getScanResults();
WifiManager WifiManager=(WifiManager)getSystemService(Context.WIFI_服务);
List apList=wifiManager.getScanResults();
apList-是最近一次扫描中所有可用wifi点的列表

您可以将此apList设置为ListView。
注意:-此方法仅返回最近扫描的wifi点

首先获取可用wifi点列表-

WifiManager wifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE);
        List<ScanResult> apList = wifiManager.getScanResults();
WifiManager WifiManager=(WifiManager)getSystemService(Context.WIFI_服务);
List apList=wifiManager.getScanResults();
apList-是最近一次扫描中所有可用wifi点的列表

您可以将此apList设置为ListView。
注意:-此方法仅返回最近扫描的wifi点

您需要创建一个广播接收器来侦听wifi扫描结果:

private final BroadcastReceiver mWifiScanReceiver = new BroadcastReceiver() {
    @Override
    public void onReceive(Context c, Intent intent) {
        if (intent.getAction() == WifiManager.SCAN_RESULTS_AVAILABLE_ACTION) {
            List<ScanResult> mScanResults = wifi.getScanResults();
            // add your logic here
        }
    }
}

此处理扫描结果的代码将在每次有新的扫描结果可用时运行,并更新结果。

您需要创建一个广播接收器来监听Wifi扫描结果:

private final BroadcastReceiver mWifiScanReceiver = new BroadcastReceiver() {
    @Override
    public void onReceive(Context c, Intent intent) {
        if (intent.getAction() == WifiManager.SCAN_RESULTS_AVAILABLE_ACTION) {
            List<ScanResult> mScanResults = wifi.getScanResults();
            // add your logic here
        }
    }
}

处理扫描结果的代码将在每次有新的扫描结果可用时运行,并更新结果。

不要忘记在清单文件中添加这些权限。不要忘记在清单文件中添加这些权限。注意使用意图操作检查时,最好改为.equals,而不是==。应该看起来像WifiManager.SCAN_RESULTS_AVAILABLE_ACTION.equals(intent.getAction())使用Objects.equals(intent.getAction(),WifiManager.SCAN_RESULTS_AVAILABLE_ACTION)Over==和.equals更安全。请注意,在检查intent ACTION时,最好改为.equals。应该看起来像WifiManager.SCAN\u RESULTS\u AVAILABLE\u ACTION.equals(intent.getAction())使用Objects.equals(intent.getAction()、WifiManager.SCAN\u RESULTS\u AVAILABLE\u ACTION)比==和.equals更安全