2016-02-23 49 views
0

我正在開發一款相機應用程序。我想列出Camera dir,DCIM dir和我自己的應用程序目錄中的所有文件,我使用網格視圖來顯示所有這些文件。我試過這段代碼。如何從Android中的各個目錄打開.jpeg文件?

String[] selectionArgs = new String[] {"Camera","DCIM","100MEDIA", 
      "MyDirectory"}; 

    Cursor mCursor = context.getContentResolver().query(
      MediaStore.Images.Media.EXTERNAL_CONTENT_URI, mProjection, 
      selection, selectionArgs, MediaStore.Images.Media.DATE_TAKEN); 

    mCursor.moveToLast(); 
    if (mCursor!= null) { 

     while (mCursor.moveToPrevious()) { 

      int columnIndex = mCursor 
        .getColumnIndexOrThrow(MediaStore.Images.Media._ID); 
      String imageID = mCursor.getString(columnIndex); 

      // Uri uri = Uri.withAppendedPath(
      // MediaStore.Images.Media.EXTERNAL_CONTENT_URI, 
      // Integer.toString(imageID)); 
      // String url = uri.toString(); 

      img_path.add(imageID); 

     } 
    } 

    mCursor.close(); 
} 

此代碼工作正常,但它不會由我創造「mydirectory中」列出文件。我想顯示該目錄中的文件也用於編輯目的。任何人都可以提出另一種方法或解決這個問題?提前致謝。

+0

@Jaxon嗨,有什麼情況的問題我看你用mydirectory中和mydirectory中?或者它只是一個假名 – micstr

+0

不,這不是問題:),這只是一個打字錯誤。 :) – Gibs

+0

不要讓MediaStore爲您列出它們。用File類將他們自己列出來。 – greenapps

回答

0

您的應用程序請求JPG格式文件的媒體掃描發現(getContentResolver().query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI...)

根據您正在使用和文件權限的文件夾MyDirectory有媒體掃描儀將無法找到JPG文件在其Android版本全部或有一些延遲...

> Can anyone suggest another method or solution to this problem? 

如果您使用File.listFiles()此問題應該不存在。

  • /存儲/ sdcard0/DCIM /相機
  • :所以媒體掃描儀和其他應用程序都沒有問題,只讀權限

    其他應用程序處理通過將自己的圖像到DCIM的子文件夾,這個問題

  • /存儲/ sdcard0/DCIM/mydirectory中
+0

感謝您回答我的問題。那麼我應該在哪裏使用File.listFiles()函數?這是不明白的。你能幫我嗎? – Gibs