Android,如何在连接到wifi网络时覆盖互联网连接检查?

ash*_*duh 11 android android-wifi

我注意到Marshmallow(例如Nexus 6P)以及一些最近更新的Lollipop手机(例如Galaxy S5),当我连接到没有互联网的wifi网络时,网络将无法完全连接,直到用户接受提示说明网络没有互联网接入.

有没有办法以编程方式绕过此检查并允许无线连接继续进行无线连接?

Arj*_*ini 0

检查这些链接..

\n\n

检查互联网连接

\n\n
public final boolean isInternetOn()\n{\n  ConnectivityManager connec = (ConnectivityManager)\n    getSystemService(Context.CONNECTIVITY_SERVICE);\n\n  // ARE WE CONNECTED TO THE NET\n  if ( connec.getNetworkInfo(0).getState() == NetworkInfo.State.CONNECTED ||\n       connec.getNetworkInfo(1).getState() == NetworkInfo.State.CONNECTED )\n  {\n    // MESSAGE TO SCREEN FOR TESTING (IF REQ)\n    //Toast.makeText(this, connectionType + \xe2\x80\x9d connected\xe2\x80\x9d, Toast.LENGTH_SHORT).show();\n    return true;\n  }\n  else if ( connec.getNetworkInfo(0).getState() == NetworkInfo.State.DISCONNECTED\n    ||  connec.getNetworkInfo(1).getState() == NetworkInfo.State.DISCONNECTED  )\n  {\n    return false;\n  }\n\n  return false;\n  }\n
Run Code Online (Sandbox Code Playgroud)\n\n

使用 url 检查互联网连接(如果可用)

\n\n
public static boolean hasActiveInternetConnection(Context context) {\n    if (isNetworkAvailable(context)) {\n        try {\n            HttpURLConnection urlc = (HttpURLConnection) (new URL("http://www.google.com").openConnection());\n            urlc.setRequestProperty("User-Agent", "Test");\n            urlc.setRequestProperty("Connection", "close");\n            urlc.setConnectTimeout(1500); \n            urlc.connect();\n            return (urlc.getResponseCode() == 200);\n        } catch (IOException e) {\n            Log.e(LOG_TAG, "Error checking internet connection", e);\n        }\n    } else {\n        Log.d(LOG_TAG, "No network available!");\n    }\n    return false;\n}\n
Run Code Online (Sandbox Code Playgroud)\n