次の void メソッドを使用して、URL からビットマップ イメージを取得しています。
public static Bitmap downloadBitmap(String url) {
final AndroidHttpClient client = AndroidHttpClient.newInstance("Android");
final HttpGet getRequest = new HttpGet(url);
try {
HttpResponse response = client.execute(getRequest);
final int statusCode = response.getStatusLine().getStatusCode();
if (statusCode != HttpStatus.SC_OK) {
Log.w("ImageDownloader", "Error " + statusCode + " while retrieving bitmap from " + url);
return null;
}
final HttpEntity entity = response.getEntity();
if (entity != null) {
InputStream inputStream = null;
try {
inputStream = entity.getContent();
final Bitmap bitmap = BitmapFactory.decodeStream(inputStream);
return bitmap;
} finally {
if (inputStream != null) {
inputStream.close();
}
entity.consumeContent();
}
}
} catch (Exception e) {
// Could provide a more explicit error message for IOException or IllegalStateException
getRequest.abort();
Log.e("ImageDownloader", "Error while retrieving bitmap from " + url);
} finally {
if (client != null) {
client.close();
}
}
return null;
}
このメソッドでフィードする最も一般的な URL はhttp://graph.facebook.com/+FACEBOOK_USER_ID+/pictureですが、この URL はhttp://profile.ak.fbcdn.net/static-ak/rsrcにリダイレクトされます。 php/v2/y9/r/xxxxx.gif . そのため、ビットマップ イメージを取得できません。取得しているのは、302 リダイレクトに関連するエラーです。リダイレクトされた URL を処理し、ビットマップ ファイルを取得するにはどうすればよいですか?