Android M上的wifi请求
我目前正在Android上开发一个应用程序,自从Android 6.0更新后,我遇到了一个问题:我无法通过我的私人网络进行请求 例: 步骤1:连接到不提供互联网连接的wifi 步骤2:在本地ip(ex:192.168.1.168)上发出请求(ex:POST请求) 在任何安卓版本(6.0除外)上,我都会收到本地web服务器的响应 在安卓上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发送,我得到了正确的答案。 如果我错了,请告诉我,但显然我无法通过编程方式关闭数据
如果我错了,请告诉我,但显然我无法通过编程方式关闭数据或使用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();
}
}
}
}
}
玩得开心 在我使用特定的专用网络完成任务后,是否有方法解除进程与网络的绑定?我的意思是,我还需要使用常规网络接收来自应用程序的请求,而且似乎在执行绑定后,我无法正确发送任何其他请求