簡體   English   中英

為什么我在畫廊中看不到我的一些照片?

[英]Why can't I see some of my pictures in the gallery?

我正在嘗試使用MediaStore.Images.Media.DATA讀取sdcard中的照片,但是我總是得到一個空光標! 這是我正在閱讀的代碼:

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));
}

當然我加了

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

到AndroidManifest.xml

我發現問題出在媒體掃描儀上,因此我使用一個名為“掃描媒體”的簡單應用程序解決了它的購買問題,它可以掃描外部存儲,然后MediaStore就能找到新的元素。

我不知道這是否對您有幫助,但我正在努力

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());
}      

在此示例中,我獲取圖像並以網格視圖顯示

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM