在Nexus 5(6.0)上WifiConfiguration和WiFiInfo中缺少networkId

时间:2015-11-27 11:08:37

标签: android wifimanager nexus-5 wificonfiguration

我需要一个当前连接的WiFi的networkId,以便将设备与该WiFi断开连接:

wifiManager.disconnect()
wifiManager.removeNetwork(i.networkId);
wifiManager.saveConfiguration()

我试过

WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
WifiInfo info = wifiManager.getConnectionInfo();

List<WifiConfiguration> list = wifiManager.getConfiguredNetworks();

在这两种情况下,networkId都是0

在Galaxy S5上它运行正常。

任何想法,解决方法....?

1 个答案:

答案 0 :(得分:0)

从Android 6.0开始,权限行为已更改为运行时。要使用需要权限的功能,应先检查先前是否已授予权限。使用checkSelfPermission(permissionString)方法会返回结果,其权限为PERMISSION_GRANTEDPERMISSION_DENIED

如果未授予许可或是第一次许可,则应提出许可请求。为用户提供授予或拒绝的选项。

有关详细信息,请查看this question