Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android显示SD卡和外部存储器中的媒体文件_Android_Android Sdcard - Fatal编程技术网

Android显示SD卡和外部存储器中的媒体文件

Android显示SD卡和外部存储器中的媒体文件,android,android-sdcard,Android,Android Sdcard,我想显示SD卡和手机存储中的媒体文件(比如照片) Environment.getExternalStorageDirectory() 我正在使用上述函数获取目录。它适用于不支持SD卡的设备,或者只支持SD卡而不支持其他存储的设备 问题是我想同时访问SD卡和手机存储,这样我就可以同时显示这两个存储中的文件,而不想硬编码任何路径。我想要的只是一个通用解决方案,通过它我可以访问两个存储,或者一个通用解决方案,通过它我可以访问根文件夹,然后导航其他文件夹,其中包括phone(模拟/0)和sdcard文件

我想显示SD卡和手机存储中的媒体文件(比如照片)

Environment.getExternalStorageDirectory()

我正在使用上述函数获取目录。它适用于不支持SD卡的设备,或者只支持SD卡而不支持其他存储的设备

问题是我想同时访问SD卡和手机存储,这样我就可以同时显示这两个存储中的文件,而不想硬编码任何路径。我想要的只是一个通用解决方案,通过它我可以访问两个存储,或者一个通用解决方案,通过它我可以访问根文件夹,然后导航其他文件夹,其中包括phone(模拟/0)和sdcard文件夹

有类似的问题,但我还没有找到正确的答案。所有答案都包括一些硬编码路径

尝试使用游标

mCursor = MediaStore.Images.Media.query(
            mainCR,
            MediaStore.Images.Media.EXTERNAL_CONTENT_URI, null,
            null, MediaStore.Images.Media.DATE_MODIFIED + " DESC");

    while (mCursor.moveToNext()) {
        String path = mCursor.getString(mCursor.getColumnIndexOrThrow(MediaStore.MediaColumns.DATA));
        String dateModified = mCursor.getString(mCursor.getColumnIndexOrThrow(MediaStore.MediaColumns.DATE_MODIFIED));
        String size = mCursor.getString(mCursor.getColumnIndexOrThrow(MediaStore.MediaColumns.SIZE));
        String name = mCursor.getString(mCursor.getColumnIndexOrThrow(MediaStore.MediaColumns.DISPLAY_NAME));
    }

谢谢,它工作得很好,但是有一个小问题。我想要导航。所以我也需要列出文件夹。按顺序文字-文件夹导航和显示图像