Android 获取Download目录 兼容Android 10以上
时间: 2023-11-10 12:14:45 浏览: 40
在Android 10及以上版本中,访问Download目录需要先进行运行时权限的请求。以下是获取Download目录中所有文件的代码示例:
```java
// 首先,检查应用程序是否已经被授予访问Download目录的权限
if (ContextCompat.checkSelfPermission(context, Manifest.permission.READ_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED) {
// 创建一个File对象,指向Download目录
File downloadFolder = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS);
// 获取Download目录中的所有文件
File[] files = downloadFolder.listFiles();
// 遍历所有文件,打印文件名
for (File file : files) {
Log.d("DownloadFolder", file.getName());
}
} else {
// 如果应用程序没有被授予访问Download目录的权限,则请求该权限
ActivityCompat.requestPermissions(context, new String[]{Manifest.permission.READ_EXTERNAL_STORAGE}, PERMISSION_REQUEST_CODE);
}
```
在上面的代码示例中,我们首先检查应用程序是否已经被授予访问Download目录的权限,如果没有,则请求该权限。如果已经被授予权限,则获取Download目录中的所有文件,并遍历打印文件名。注意,当应用程序使用运行时权限请求框架请求权限时,用户可以选择授权或拒绝该权限,因此你需要在适当的时候处理用户的授权结果。