Gui*_*got 4 android httprequest android-volley android-6.0-marshmallow
我目前正在Android上开发应用程序,自Android 6.0更新以来出现问题:我无法通过我的专用网络请求!
例如:步骤1:连接到不提供互联网连接的wifi步骤2:在本地ip(例如:192.168.1.168)上发出请求(例如:POST请求)
在任何Android版本(6.0除外)上:我从本地Web服务器收到响应在android 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();
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
}
玩得开心 !