1

我目前在Android上开发应用程序,自从Android 6.0更新后出现问题:我无法通过我的专用网络请求!Android M上的WiFi请求

例如: 第1步:连接到WiFi不提供互联网连接 第2步:请求:上的本地IP(事后请求)(例如:192.168.1.168)

在任何Android版本(6.0除外)中:我收到了本地Web服务器的响应 在android M上:没有任何响应:我的请求通过移动数据。

当我关闭我的移动数据时,请求通过无线网络,我得到了正确的答案。 告诉我,如果我错了,但显然我无法解决我的问题,在应用程序中关闭数据编程或强制wifi使用API​​ 23 ...

回答

2

这是我如何解决我的问题,如果有人感兴趣:

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(); 
        } 
       } 
      } 

     } 

}

玩得开心!