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被修改。

解决

相关内容

热门资讯

实测揭晓(德州竞技联盟辅助)软... 实测揭晓(德州竞技联盟辅助)软件透明挂(透视)的确真的有挂(有挂透明)-哔哩哔哩;人气非常高,ai更...
免费测试版(扑克时间软件)辅助... 这是一款非常优秀的扑克时间软件 ia辅助检测软件,能够让你了解到扑克时间软件中牌率当中全部隐藏参数,...
热门推荐(德扑之星隐藏功能)软... WePoker透视辅助版本稳定性对比与推荐‌:热门推荐(德扑之星隐藏功能)软件透明挂(辅助挂)其实真...
一分钟带你了解(线上德州有后台... 一分钟带你了解(线上德州有后台操控)辅助透视(辅助挂)原来真的有挂(有挂透明)-哔哩哔哩;科技详细教...
推荐一款(cloudpoker... 推荐一款(cloudpoker云扑克辅助)软件透明挂(辅助挂)果真是真的有挂(有挂详情)-哔哩哔哩;...
六分钟了解(德扑之星开房间教程... 六分钟了解(德扑之星开房间教程)软件透明挂(辅助挂)其实是真的有挂(有挂教程)-哔哩哔哩是由北京得德...
玩家必用(扑克之城那假)透视辅... 1、玩家必用(扑克之城那假)透视辅助(透视)果真是真的有挂(有挂规律)-哔哩哔哩(UU poker、...
玩家亲测(gg扑克辅助)透视辅... 《gg扑克辅助软件透明挂》是一款多人竞技的gg扑克辅助辅助透视游戏,你将微扑克对手来到同一个战场,为...
每日必看教程(德扑之星用刷数据... 每日必看教程(德扑之星用刷数据)软件透明挂(透视)果真真的有挂(有挂攻略)-哔哩哔哩是一款可以让一直...
一分钟了解(德州alphax辅... 一分钟了解(德州alphax辅助)软件透明挂(透视)竟然是真的有挂(有挂透明)-哔哩哔哩;科技安装教...