Android 为什么可以';难道我没有在画廊里看到我的一些照片吗?

Android 为什么可以';难道我没有在画廊里看到我的一些照片吗?,android,cursor,sd-card,mediastore,Android,Cursor,Sd Card,Mediastore,我试图用MediaStore.Images.Media.DATA读取SD卡中的照片,但我总是得到一个空光标!!! 这是我用于阅读的代码: final String[] columns = { MediaStore.Images.Media.DATA, MediaStore.Images.Media._ID }; Cursor imagecursor = getContentResolver() .query(MediaStore.Images.Media.EXTERNAL_C

我试图用MediaStore.Images.Media.DATA读取SD卡中的照片,但我总是得到一个空光标!!! 这是我用于阅读的代码:

final String[] columns = { MediaStore.Images.Media.DATA, 
    MediaStore.Images.Media._ID };

Cursor imagecursor = getContentResolver()
    .query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, columns, 
    MediaStore.Images.Media.DATA + " like ? ", 
    new String[] { "%"+eventName.trim()+"%" }, null);

imagecursor.setNotificationUri(getContentResolver(), 
    MediaStore.Images.Media.EXTERNAL_CONTENT_URI);

this.imageUrls = new ArrayList<String>(); 
Log.i("imagecursor.getCount()", Integer.toString(imagecursor.getCount()));

for (int i = 0; i < imagecursor.getCount(); i++) {
    imagecursor.moveToPosition(i);
    int dataColumnIndex = imagecursor.getColumnIndex(MediaStore.Images.Media.DATA);
    imageUrls.add(imagecursor.getString(dataColumnIndex));
}
final String[]columns={MediaStore.Images.Media.DATA,
MediaStore.Images.Media.\u ID};
游标imagecursor=getContentResolver()
.query(MediaStore.Images.Media.EXTERNAL\u CONTENT\u URI、列、,
MediaStore.Images.Media.DATA+“喜欢吗?”,
新字符串[]{“%”+eventName.trim()+“%”,null);
imagecursor.setNotificationUri(getContentResolver(),
MediaStore.Images.Media.EXTERNAL\u CONTENT\u URI);
this.imageUrls=newArrayList();
Log.i(“imagecursor.getCount()”,Integer.toString(imagecursor.getCount());
对于(int i=0;i
我当然加了这个

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


到AndroidManifest.xml

我不知道这是否对您有帮助,但我正在努力

String ExternalStorageDirectoryPath = Environment.getExternalStorageDirectory()
    .getAbsolutePath();

String targetPath = ExternalStorageDirectoryPath + "/yoururl/";

Toast.makeText(getActivity(), targetPath, Toast.LENGTH_LONG).show();
File targetDirector = new File(targetPath);

File[] files = targetDirector.listFiles();
for (File file : files){
    myImageAdapter.add(file.getAbsolutePath());
}      

在本例中,我获取图像并在网格视图中显示

我发现问题出在媒体扫描仪上,因此我使用一个名为Scan Media witch的简单应用程序解决了问题,该应用程序扫描外部存储,然后媒体存储将能够找到新元素。

他正在将图片搜索到数据库中,而不是直接使用路径。