首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >android网络连接雪崩

android网络连接雪崩
EN

Stack Overflow用户
提问于 2015-10-25 11:09:13
回答 1查看 97关注 0票数 1

在试图寻找解决android上互联网连接错误的方法并在堆栈溢出上搜索之后,我没有发现对我有用的东西。我试了一下你可以在底部看到的代码,但是它不适用于互联网连接错误。当浏览器中的url不是http://192./loc/index.php时,每次都会执行http://192./loc/index.php。当我重定向到index.php时,错误文件就会显示出来。我怎样才能改变这种状况,或者认识一个能检查互联网连接可用性的代码,然后再做些什么呢?

代码语言:javascript
运行
复制
    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;
            }

        }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-10-25 11:22:02

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

代码语言:javascript
运行
复制
public boolean isOnline() {
    ConnectivityManager cm =
        (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
    NetworkInfo netInfo = cm.getActiveNetworkInfo();
    return netInfo != null && netInfo.isConnectedOrConnecting();
}

那么,如果需要检查真正的互联网连接,您可以尝试如下所示:

代码语言:javascript
运行
复制
public boolean isInternetAvailable() {
        try {
            InetAddress ipAddr = InetAddress.getByName("google.com"); 
            if (ipAddr.equals("")) {
                return false;
            } else {
                return true;
            }
        } catch (Exception e) {
            return false;
        }

    }

并将ACCESS_NETWORK_STATE权限添加到清单中。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33328989

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档