我的应用程序没有显示出互联网在连接到便携式路由器

我的应用程序没有显示出互联网在连接到便携式路由器

问题描述:

我有下面的代码检查,如果我有有效的互联网连接:我的应用程序没有显示出互联网在连接到便携式路由器

private boolean hasNetworkAccess() { 
    try { 
     HttpURLConnection urlc = (HttpURLConnection) (new URL("http://www.screens.company").openConnection()); 
     urlc.setRequestProperty("User-Agent", "Test"); 
     urlc.setRequestProperty("Connection", "close"); 
     urlc.setConnectTimeout(3000); 
     urlc.connect(); 
     return (urlc.getResponseCode() == 200); 
    } catch (IOException e) { 
     Log.e("NETWORK", "Error checking internet connection."); 
    } 
    return false; 
} 

当我连接/我的Wi-Fi在家里连接到我的手机热点/直接连接到我的路由器 - 一切正常,它显示我有活动的连接。

当我将我的电脑连接到便携式路由器(TP-LINK)时,出现错误。

什么可能是错误,只是我是我的便携式路由器?

PS我检查,当我连接到像互联网浏览器,YouTube等路由器

错误堆栈跟踪一切工作:

java.net.SocketTimeoutException: failed to connect to www.screens.company/80.179.142.52 (port 80) after 3000ms 
+0

您应该记录'IOException'并发布完整的异常详细信息。 –

+0

java.net.SocketTimeoutException:3000ms后无法连接到www.screens.company/80.179.142.52(端口80) – OrrGorenn

+0

您可能只是网络较慢。如果你增加连接超时,它是否工作? –

试试这个

  • 检查以确保它是connected to a network

public boolean isNetworkAvailable(Context context) { 
    final ConnectivityManager connectivityManager = ((ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE)); 
    return connectivityManager.getActiveNetworkInfo() != null && connectivityManager.getActiveNetworkInfo().isConnected(); 
} 

  • 替代溶液

public boolean isInternetAvailable() { 
    try { 
     final InetAddress address = InetAddress.getByName("www.google.com"); 
     return !address.equals(""); 
    } catch (UnknownHostException e) { 
     // Log error 
    } 
    return false; 
} 

-Permission需要


<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
+0

仍然一切正常,但我没有互联网连接 – OrrGorenn

+0

你有'互联网'''权限' –

+0

当然,当我连接到我的家庭无线上网 - 一切正常。 – OrrGorenn