現在、SD カードから画像を読み込むアプリを開発中です。エミュレーターでは、以下は正常に機能し、表示する画像を見つけます。ただし、Galaxy S2 および S3 では、画像が表示されることはありません。何か案は?
Cursor cursor = getContentResolver().query(
MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
{ MediaStore.Images.Thumbnails._ID },
null,
null,
MediaStore.Images.Media._ID
);
int columnIndex = cursor.getColumnIndexOrThrow(MediaStore.Images.Media._ID);
int size = cursor.getCount();
int imageId = 0;
for (int i = 0; i < size; i++) {
if(cursor.isClosed()) {
continue;
}
cursor.moveToPosition(i);
imageId = cursor.getInt(columnIndex);
uri = Uri.withAppendedPath(
MediaStore.Images.Thumbnails.EXTERNAL_CONTENT_URI,
Integer.toString(imageId)
);
try {
bitmap = BitmapFactory.decodeStream(getContentResolver().openInputStream(uri));
if (bitmap != null) {
newBitmap = Bitmap.createScaledBitmap(bitmap, 70, 70,true);
bitmap.recycle();
if (newBitmap != null) {
publishProgress(newBitmap);
}
}
} catch (IOException e) {}
}
cursor.close();
return null;