0

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

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"/>

谢谢

4

1 回答 1

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;

}
于 2013-06-14T16:19:58.273 回答