アンドロイドギャラリーアプリを作成したいと思います。画像や動画を持つフォルダのパスを取得する方法
写真や動画を含むフォルダのパスをスキャンして取得する方法。
このコードを使用して作業しました。しかし、私はそれをプレイストアのQuickpic Galleryと比較すると、私のアプリのフォルダ数がQuickpicのフォルダより少ないことがわかります
このコードに問題はありますか?
Uri uri = MediaStore.Images.Media.EXTERNAL_CONTENT_URI;
Cursor cursor = ba.context.getContentResolver().query(uri, null, null,
null, MediaStore.Images.ImageColumns.BUCKET_DISPLAY_NAME);
if (cursor != null) {
cursor.moveToFirst();
int data = cursor
.getColumnIndex(MediaStore.Images.ImageColumns.DATA);
int displayName = cursor
.getColumnIndex(MediaStore.Images.ImageColumns.DISPLAY_NAME);
imageFolders = new HashMap<>();
do {
String imageAddress = cursor.getString(data);
String imageName = cursor.getString(displayName);
String folderAddress = imageAddress.substring(0,
imageAddress.lastIndexOf(imageName) - 1);
if (!imageFolders.containsKey(folderAddress)) {
imageFolders.put(folderAddress, imageAddress);
}
} while (cursor.moveToNext());
for (String str : imageFolders.keySet()) {
ba.raiseEventFromDifferentThread(
null,
null,
0,
"result",
true,
new Object[] { String.format("%s", str),
String.format("%s", imageFolders.get(str)) });
}
}
スキャンすべてのフォルダを検索するすべての画像のフォルダパス ます。private void getImageFolderList(){
を見つけます。写真や動画があるかどうかを確認してください。リストを作る。 –
@JasonC私の2番目の答えをご覧ください。 –
質問を編集して回答を追加してください。その後、あなたの答えを削除します。 –