これにより、sdcard から画像をスキャンし、すべての画像 uri を取得することが簡単になります。ギャラリー クラスとそのアダプター クラスを作成する必要があります。そのレイアウトの中心または親を満たすために画像を与えます。以下のケースも機能しているとコメントされています。
public ArrayList<String> getAllImagesUri(ContentResolver mResolver) {
ArrayList<String> imagesUris = new ArrayList<String>();
try{
// Cursor mCursor = mResolver.query(
// MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
// new String[] { MediaStore.Images.ImageColumns.DATA,MediaStore.Images.Media._ID }, null, null,
// null);
Cursor mCursor = mResolver.query(
MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
new String[] {MediaStore.Images.Thumbnails.DATA ,MediaStore.Images.Thumbnails._ID }, null, null,
null);
startManagingCursor(mCursor);
if (mCursor.moveToFirst()) {
do {
try {
imagesUris.add(mCursor.getString(0));
imagesIds.add(mCursor.getString(1));
} catch (Exception e) {
e.printStackTrace();
}
} while (mCursor.moveToNext());
}
}catch (Exception e)
{
e.printStackTrace();
// TODO: handle exception
}
return imagesUris;
}