【发布时间】:2014-12-06 04:48:31
【问题描述】:
我在 android 中运行异步任务以 ping 特定 URL,但问题是当 url 无效或无法访问时,异常发生为 sockettimeoutexception,因此我想停止正在运行的任务。 iagve 尝试使用 Cancel() 方法,但这会导致 App 崩溃。
我正在使用以下代码。
private class UrlDataProvider3 extends AsyncTask<String, Void, String>
{
String ret="";
int checkStatus;
Boolean exception=false;
@Override
protected String doInBackground(String... url)
{
HttpURLConnection con = null;
try
{
Log.i("RAE", "urlData"+url[0]);
HttpURLConnection.setFollowRedirects(true);
con = (HttpURLConnection) new URL(url[0]).openConnection();
con.setRequestMethod("POST");
con.setConnectTimeout(20000);
}
catch (IOException e)
{
if(e.toString().contains("java.net.SocketTimeoutException:"))
{
return null;
}
}
return ret;
}
@Override
protected void onPostExecute(String result) {
// TODO Auto-generated method stub
super.onPostExecute(result);
Log.i("RAE"," Asyc finished");
}
【问题讨论】:
标签: java android http android-asynctask httpurlconnection