以下のコードは、ブラウザで URI をチェックしている間、常に I/O 例外を与えており、Android マニフェスト ファイルにインターネット アクセス許可が与えられています。クリックボタンからこのように呼び出しています
CheckMetaData cmd = new CheckMetaData();
cmd.execute(url);
---------class def ---
private class CheckMetaData extends AsyncTask<String,Integer,InputStream> {
protected InputStream doInBackground(String... params) {
String url=params[0];
DefaultHttpClient client = new DefaultHttpClient();
HttpGet getRequest = new HttpGet(url);
try {
HttpResponse getResponse = client.execute(getRequest);
final int statusCode = getResponse.getStatusLine().getStatusCode();
if (statusCode != HttpStatus.SC_OK) {
Log.w(getClass().getSimpleName(),
"Error " + statusCode + " for URL " + url);
return null;
}
HttpEntity getResponseEntity = getResponse.getEntity();
return getResponseEntity.getContent();
}
catch (IOException e) {
getRequest.abort();
Log.w(getClass().getSimpleName(), "Error for URL " + url, e);
}
return null;
}