Java 如果没有可用的internet连接,我的应用程序中的ANR
我有一个小问题,我可以连接到互联网和阅读网址很容易。但如果没有可用的互联网连接,我会得到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
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)对话框
(可能是一个很好的起点。)非常感谢!!这解决了我的问题:)