Android:获取所有图像列表时代码无效

时间:2013-06-13 21:13:55

标签: android

我有这段代码,可以将所有照片保存在手机上。

String[] projection = {MediaStore.Images.Media._ID,MediaStore.Images.Media.DATA};
final Cursor cursor =      context.getContentResolver().query(MediaStore.Images.Media.INTERNAL_CONTENT_URI,
            projection,
            null,
            null,
            null);

 return cursor.getCount();

当我尝试在模拟器或手机上使用时,我总是将光标的大小设置为0。任何指针都会有所帮助。

我真的不知道如何在模拟器上测试它。

我有以下权限

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

由于

1 个答案:

答案 0 :(得分:3)

这是有效的代码。

public ArrayList<String> getCameraImages(Context context) {

    // Set up an array of the Thumbnail Image ID column we want
    String[] projection = {MediaStore.Images.Media.DATA};


    final Cursor cursor = context.getContentResolver().query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
            projection,
            null,
            null,
            null);

    ArrayList<String> result = new ArrayList<String>(cursor.getCount());

    Log.i("cursor.getCount()) :", cursor.getCount() + "");

    if (cursor.moveToFirst()) {
        final int dataColumn = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
        do {
            final String data = cursor.getString(dataColumn);
            Log.i ("data :",data );
            result.add(data);
        } while (cursor.moveToNext());
    }
    cursor.close();

    return result;

}