Android10+的Wifi-API真的有这么糟糕吗?
创始人
2024-08-20 07:30:14
0

以下是使用Android 10+的Wifi-API时可能遇到的问题以及解决方案。

问题1:调用WifiManager.getConnectionInfo().getBSSID()时返回的结果为null。

解决方案:在Android 10+中,为了保护用户的隐私,连接到Wifi时MAC地址被隐藏了。因此,调用getBSSID()将返回null。要获取MAC地址,您可以使用NetworkCapabilities.getTransportInfo().getPhysicalAddress()。

示例代码:

private String getMacAddress(Network network) { NetworkCapabilities capabilities = connectivityManager.getNetworkCapabilities(network); LinkProperties linkProperties = connectivityManager.getLinkProperties(network);

if (capabilities.hasTransport(NetworkCapabilities.TRANSPORT_WIFI) && linkProperties != null) {
    return linkProperties.getLinkAddresses().stream()
            .filter(la -> la.getAddress() instanceof Inet4Address)
            .findFirst()
            .map(la -> {
                try {
                    Method method = la.getClass().getMethod("getFlags");
                    int flags = (int) method.invoke(la);

                    if ((flags & (1 << 0)) == 0) {
                        return null;
                    }

                    return capabilities.getTransportInfo().getPhysicalAddress();
                } catch (Exception e) {
                    return null;
                }
            })
            .orElse(null);
}

return null;

}

问题2:Android 10+中的WifiScanResult的SSID和BSSID被隐藏。

解决方案:在Android 10+中,为了保护用户的隐私,WifiScanResult的SSID和BSSID也被隐藏了。你可以使用WifiNetworkSuggestion来获取SSID和BSSID。

示例代码:

private List getWifiSsidList() { List ssidList = new ArrayList<>(); List suggestionsList = wifiManager.getWifiNetworkSuggestions();

for (WifiNetworkSuggestion suggestion : suggestionsList) {
    ssidList.add(suggestion.getSsid());
}
return ssidList;

}

问题3:Android 10+中WifiP2pManager,WifiManager和WifiEnterpriseConfig api被修改。

解决

相关内容

热门资讯

透视有挂!aapoker辅助怎... 透视有挂!aapoker辅助怎么用(透视)发牌逻辑(确实存在有挂)1、游戏颠覆性的策略玩法,独创攻略...
透视总结!大菠萝免费辅助(透视... 透视总结!大菠萝免费辅助(透视)黑科技教程(2022已更新)(哔哩哔哩)1、在大菠萝免费辅助ai机器...
透视辅助!aapoker辅助怎... 透视辅助!aapoker辅助怎么用(透视)透视方法(原来有挂);一、aapoker辅助怎么用AI软件...
透视规律!werplan免费挂... 透视规律!werplan免费挂下载(透视)可靠教程(2022已更新)(哔哩哔哩)1.werplan免...
辅助透视!aapoker透视脚... 辅助透视!aapoker透视脚本下载(透视)真的假的(竟然真的是有挂)1、aapoker透视脚本下载...
透视辅助!大菠萝789辅助器下... 透视辅助!大菠萝789辅助器下载(透视)力荐教程(2022已更新)(哔哩哔哩)1、不需要AI权限,帮...
透视好友!aapoker辅助软... 透视好友!aapoker辅助软件合法吗(透视)透视脚本下载(一直是有挂)1、aapoker辅助软件合...
透视辅助!哈糖大菠萝挂法(透视... 透视辅助!哈糖大菠萝挂法(透视)攻略教程(2026已更新)(哔哩哔哩)1、下载好哈糖大菠萝挂法辅助软...
透视辅助!aapoker辅助插... 透视辅助!aapoker辅助插件工具(透视)免费透视脚本(确实有挂)1、用户打开应用后不用登录就可以...
透视透视!拱趴大菠萝辅助神器(... 透视透视!拱趴大菠萝辅助神器(透视)微扑克教程(2024已更新)(哔哩哔哩)1、拱趴大菠萝辅助神器透...