Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/207.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android WifiManager添加网络返回-棉花糖中的1_Android_Android 6.0 Marshmallow_Android Wifi - Fatal编程技术网

Android WifiManager添加网络返回-棉花糖中的1

Android WifiManager添加网络返回-棉花糖中的1,android,android-6.0-marshmallow,android-wifi,Android,Android 6.0 Marshmallow,Android Wifi,在我的应用程序中,我想连接到特定的wifi连接。我的应用程序在第19版之前运行良好。安装android 6.0应用程序时,addNetwork始终返回-1 下面是我正在使用的代码 private int configureNetworkAndReturnId() { WifiConfiguration config = new WifiConfiguration(); config.BSSID = "xx:xx:xx:xx:xx:xx"; config.SSID = "

在我的应用程序中,我想连接到特定的wifi连接。我的应用程序在第19版之前运行良好。安装android 6.0应用程序时,addNetwork始终返回-1

下面是我正在使用的代码

private int configureNetworkAndReturnId() {

    WifiConfiguration config = new WifiConfiguration();
    config.BSSID = "xx:xx:xx:xx:xx:xx";
    config.SSID = "\"" + "Name" + "\"";
    config.priority = 1;
    config.status = WifiConfiguration.Status.ENABLED;
    // Set connection configuration to require encryption
    config.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.CCMP);
    config.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.TKIP);
    config.allowedAuthAlgorithms.set(WifiConfiguration.AuthAlgorithm.OPEN);
    config.allowedProtocols.set(WifiConfiguration.Protocol.RSN);
    config.allowedProtocols.set(WifiConfiguration.Protocol.WPA);
    config.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.WPA_PSK);

    config.preSharedKey = "xxxx";

    final int newId = wifiManager.addNetwork(config);
    Log.d(TAG, "Created new network configuration, ID: " + newId + ", Config: " + config);


    return newId;
}
因为上面的方法返回-1,所以当我调用boolean isEnabled=wifiManager.enableNetworkid时,为true;申请被驳回


有人面临同样的问题吗?

您尝试连接的Wifi网络是否由其他应用程序配置?您可以尝试从设置中忘记Wifi网络,然后重试


请参阅棉花糖发行说明。此处有一个更改,即如果应用程序未配置Wifi,则无法对其进行修改。

您尝试连接的Wifi网络是否由其他应用程序配置?您可以尝试从设置中忘记Wifi网络,然后重试


请参阅棉花糖发行说明。此处有一个更改,即如果应用程序未配置Wifi,则无法对其进行修改。

如果网络id为-1,则从已配置的现有网络读取网络id。如果在网络列表中可用,则返回id

int newId = wifiManager.addNetwork(config);
        if (newId == -1) {
            // Get existed network id if it is already added to WiFi network
            newId = getExistingNetworkId(SSID);
            Log.d(TAG, "getExistingNetworkId: " + newId);
        }

private int getExistingNetworkId(String SSID) {
    List<WifiConfiguration> configuredNetworks = wifiManager.getConfiguredNetworks();
    if (configuredNetworks != null) {
        for (WifiConfiguration existingConfig : configuredNetworks) {
            if (SSID.equalsIgnoreCase(existingConfig.SSID)) {
                return existingConfig.networkId;
            }
        }
    }
    return -1;
}

如果网络id为-1,则从已配置的现有网络中读取网络id。如果在网络列表中可用,则返回id

int newId = wifiManager.addNetwork(config);
        if (newId == -1) {
            // Get existed network id if it is already added to WiFi network
            newId = getExistingNetworkId(SSID);
            Log.d(TAG, "getExistingNetworkId: " + newId);
        }

private int getExistingNetworkId(String SSID) {
    List<WifiConfiguration> configuredNetworks = wifiManager.getConfiguredNetworks();
    if (configuredNetworks != null) {
        for (WifiConfiguration existingConfig : configuredNetworks) {
            if (SSID.equalsIgnoreCase(existingConfig.SSID)) {
                return existingConfig.networkId;
            }
        }
    }
    return -1;
}

你尝试过解决方案吗?你尝试过解决方案吗?你指的是这些变化吗?你指的是这些变化吗?