如何访问 Android App 中下载目录中的文件

How to get access to files in download directory in Android App

我正在编写一个 android 应用程序。在应用程序中,我需要访问下载目录 \DOWNLOAD。我可以在 app 目录中读取和写入文件,当我请求根目录中的文件时,我会看到 DOWNLOAD 目录。 但是当我使用

 File[] files = new File("\DOWNLOAD").listFiles();

结果不是一个有效的数组而是 null。

我加了

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

到 AndroidManifest.xml 并且我在 phone 上启用了存储权限。

我还必须做什么才能访问下载目录中的文件?

亲切的问候, 沃尔夫冈

在清单文件中添加存储读取权限

参考:https://www.journaldev.com/9400/android-external-storage-read-write-save-file

https://gist.github.com/granoeste/5574148

问题的解决方案是同时添加

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

到AndroidManifest.xml并使用

Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS).listFiles();

谢谢,您的帮助!

String home = System.getProperty("user.home");
File file = new File(home+"/Downloads/" + fileName + ".txt");

好像加了

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

还不够。现在我另外使用以下代码在运行时请求此权限:

String[] requiredPermissions = { Manifest.permission.READ_EXTERNAL_STORAGE };    
ActivityCompat.requestPermissions(this, requiredPermissions, 0);

它再次工作:)