Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/214.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 M上的wifi请求_Android_Httprequest_Android Volley_Android 6.0 Marshmallow - Fatal编程技术网

Android M上的wifi请求

Android M上的wifi请求,android,httprequest,android-volley,android-6.0-marshmallow,Android,Httprequest,Android Volley,Android 6.0 Marshmallow,我目前正在Android上开发一个应用程序,自从Android 6.0更新后,我遇到了一个问题:我无法通过我的私人网络进行请求 例: 步骤1:连接到不提供互联网连接的wifi 步骤2:在本地ip(ex:192.168.1.168)上发出请求(ex:POST请求) 在任何安卓版本(6.0除外)上,我都会收到本地web服务器的响应 在安卓上M:没有响应:我的请求是通过移动数据发送的 当我关闭手机数据时,请求通过wifi发送,我得到了正确的答案。 如果我错了,请告诉我,但显然我无法通过编程方式关闭数据

我目前正在Android上开发一个应用程序,自从Android 6.0更新后,我遇到了一个问题:我无法通过我的私人网络进行请求

例: 步骤1:连接到不提供互联网连接的wifi 步骤2:在本地ip(ex:192.168.1.168)上发出请求(ex:POST请求)

在任何安卓版本(6.0除外)上,我都会收到本地web服务器的响应 在安卓上M:没有响应:我的请求是通过移动数据发送的

当我关闭手机数据时,请求通过wifi发送,我得到了正确的答案。
如果我错了,请告诉我,但显然我无法通过编程方式关闭数据或使用api 23强制使用wifi来解决我在应用程序中的问题…

如果有人感兴趣,请告诉我如何解决我的问题:

if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.M) {
        ConnectivityManager connectivityManager = (ConnectivityManager) mCtx.getSystemService(Context.CONNECTIVITY_SERVICE);
        Network activeNetwork = connectivityManager.getActiveNetwork();
        if (WifiConnectionManager.getInstance(mCtx).isConnectedToALocalWifi()) {
            for (Network net : connectivityManager.getAllNetworks()) {
                if (!net.equals(activeNetwork)) {
                    connectivityManager.bindProcessToNetwork(net);
                    try {
                        net.openConnection(new URL(mCtx.getString(R.string.wifi_cam_url)));
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                }
            }

        }
}


玩得开心

在我使用特定的专用网络完成任务后,是否有方法解除进程与网络的绑定?我的意思是,我还需要使用常规网络接收来自应用程序的请求,而且似乎在执行绑定后,我无法正确发送任何其他请求