Java 如果没有可用的internet连接,我的应用程序中的ANR

Java 如果没有可用的internet连接,我的应用程序中的ANR,java,android,httpurlconnection,Java,Android,Httpurlconnection,我有一个小问题,我可以连接到互联网和阅读网址很容易。但如果没有可用的互联网连接,我会得到ANR,我的应用程序将被强制关闭! 有什么帮助吗 try { URL Url = new URL(url); HttpURLConnection httpCon = (HttpURLConnection) Url.openConnection(); httpCon.setRequestMethod("GET"); //httpCon

我有一个小问题,我可以连接到互联网和阅读网址很容易。但如果没有可用的互联网连接,我会得到ANR,我的应用程序将被强制关闭! 有什么帮助吗

    try {
        URL Url = new URL(url); 
        HttpURLConnection httpCon = (HttpURLConnection) Url.openConnection();


        httpCon.setRequestMethod("GET");
        //httpCon.setReadTimeout(2000);
        Log.v("Parser","before connect");
        //httpCon.connect(); 
        int response;
            response = httpCon.getResponseCode();

        } catch (Exception urlExc) {
            Log.v("Parser","into parser error" + urlExc.getCause());
            return false;
        }

当没有可用的连接时,它将被强制关闭,而不是转到catch()

是否在主UI线程中执行此操作?如果是这样,不要。研究使用后台线程的多种方法之一

有关讨论,请参阅本文。它说:

具体来说,如果所有事情都发生在一个线程中, 执行长时间操作,如网络访问或数据库查询 在UI上,线程将阻止整个用户界面。任何事件都不可能发生 已调度,包括图形事件,而长操作 进行中的从用户的角度来看,应用程序似乎处于挂起状态。 更糟糕的是,如果UI线程被阻塞超过几秒钟 (目前大约5秒)用户会看到臭名昭著的 “应用程序未响应”(ANR)对话框


(可能是一个很好的起点。)

非常感谢!!这解决了我的问题:)