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

     } 

}

玩得開心!