我有这段代码,可以将所有照片保存在手机上。
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"/>
由于
答案 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;
}