Android从DCIM获取文件列表

Ars*_*nch 1 java directory android

我想从DCIM目录中获取所有文件列表,但我不知道为什么,它不起作用.我正在使用下面的示例,但没有数据.

Environment.DIRECTORY_DCIM 
Run Code Online (Sandbox Code Playgroud)

要么

Environment.getExternalStorageDirectory().getAbsolutePath()
Run Code Online (Sandbox Code Playgroud)

我也尝试了其他选择,但没办法.有人可以帮帮我吗?

Bla*_*elt 7

检索Directory您可以使用的内容

File dcim = getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM);
if (dcim != null) {
  File[] pics = dcim.listFiles();
  if (pics != null) {
     for (File pic : pics) {
     }
  }
}
Run Code Online (Sandbox Code Playgroud)

请注意,Environment.DIRECTORY_DCIM还不存在.

编辑:

API level 19Android 开始,强制使用READ_EXTERNAL_STORAGE访问公共存储上的文件夹.从文档:

从API级别19开始强制执行此权限.在API级别19之前,不会强制执行此权限,并且所有应用程序仍有权从外部存储读取.您可以通过在运行Android 4.1或更高版本的设备上的"设置"应用中的"开发者"选项下启用"保护USB存储"来强制执行权限来测试您的应用.

您可以添加它,或者WRITE_EXTERNAL_STORAGE如@JordiCastilla所指出的那样,它将授予您对目录的读写访问权限