首页 > 解决方案 > 获取 Android 中所有 wifi 网络的列表

问题描述

我有以下方法应该检索所有 wifi 网络。但是,尽管附近有几个网络,但我没有得到任何输出。

public static void getWIFI(Context context) {
        WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);

        final List<ScanResult> results = wifiManager.getScanResults();

        if (results != null) {
            StringBuffer buf = new StringBuffer();

            for (int i = 0; i < results.size(); i++) {
                String ssid = results.get(i).SSID;
                buf.append(ssid + "\n");
            }

            Log.i("Test", buf.toString());
        }
}

我添加了以下权限:

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

该设备是 Pixel 3a,我错过了什么吗?

标签: javaandroidandroid-studio

解决方案


MAC地址

更换。 results.get(i).SSID 对于 results.get(i).BSSID https://developer.android.com/reference/android/net/wifi/ScanResult


推荐阅读