Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/213.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java android互联网连接可用性_Java_Android_Webview_Error Handling - Fatal编程技术网

Java android互联网连接可用性

Java android互联网连接可用性,java,android,webview,error-handling,Java,Android,Webview,Error Handling,在尝试和搜索stackoverflow来解决android上的互联网连接错误后,我没有找到适合我的方法。我尝试了代码,你可以看到在底部,但它不会工作的互联网连接错误mWebView.loadUrl(“file:///android_asset/myerrorpage.html");

在尝试和搜索stackoverflow来解决android上的互联网连接错误后,我没有找到适合我的方法。我尝试了代码,你可以看到在底部,但它不会工作的互联网连接错误<代码>mWebView.loadUrl(“file:///android_asset/myerrorpage.html");http://192./loc/index.php。当我在index.php重定向时,错误文件就会显示出来。我怎样才能改变这一点,或者让任何人知道一个检查互联网连接可用性的代码,然后做些什么

    public boolean isOnline() {
            ConnectivityManager cm =
                (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
            NetworkInfo netInfo = cm.getActiveNetworkInfo();
            return netInfo != null && netInfo.isConnectedOrConnecting();
        }

    public boolean isInternetAvailable() {
            try {
                InetAddress ipAddr = InetAddress.getByName("google.com"); 
                if (ipAddr.equals("")) {
                    return false;
 mWebView.loadUrl("file:///android_asset/myerrorpage.html");
                } else {
                    return true;

@Override
        public void onCreate(Bundle savedInstanceState) {


            setContentView(R.layout.activity_localy);
            mWebView = (WebView) findViewById(R.id.webview);
            // Brower niceties -- pinch / zoom, follow links in place
            mWebView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
            mWebView.setWebViewClient(new GeoWebViewClient());
            // Below required for geolocation
            mWebView.getSettings().setJavaScriptEnabled(true);
            mWebView.getSettings().setGeolocationEnabled(true);
            mWebView.setWebChromeClient(new GeoWebChromeClient());     
            // Load google.com
            mWebView.loadUrl("http://192./loc/index.php");


        }
                }
            } catch (Exception e) {
                return false;
            }

        }

你的问题不是很清楚。 如果需要检查连接,则需要:

public boolean isOnline() {
    ConnectivityManager cm =
        (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
    NetworkInfo netInfo = cm.getActiveNetworkInfo();
    return netInfo != null && netInfo.isConnectedOrConnecting();
}
然后,如果需要检查真实的internet连接,您可以尝试以下方法:

public boolean isInternetAvailable() {
        try {
            InetAddress ipAddr = InetAddress.getByName("google.com"); 
            if (ipAddr.equals("")) {
                return false;
            } else {
                return true;
            }
        } catch (Exception e) {
            return false;
        }

    }

并将“访问网络”状态权限添加到清单中。

好的,您的ip地址看起来有误,它是一个四点符号,即w.x.y.z。你需要添加额外的代码来检查是否有连接,你搜索了吗?这里有一个在我编辑我的ip地址为stackoverflow192.168.x.y或192.169.x.y是常见的与家庭局域网的烂泥,没有太多的,因为你会背后的一个公共ip地址。好吧,我编辑我的代码一点。在哪里可以将我的代码添加到您的第二个代码段中,或者在哪里可以将您的第二个代码段添加到我的代码中?我想您需要调用第一个isOnline方法。如果返回true,则可以调用isInternetAvailable方法。您可以在需要使用它的地方添加。您需要在onCreate方法中调用这些方法,否则它们将永远无法工作。您还需要在return语句之前加载页面:“myerrorpage.html”,否则它将永远不会调用。