android - 即使声明并授予了 WRITE_EXTERNAL_STORAGE 也获得“权限被拒绝”
问题描述
我有一个需要将文件写入外部存储的应用程序。在清单中我添加了
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
在我打电话的活动中
ActivityCompat.requestPermissions(this, STORAGE_PERMISSIONS, PERMISSION_REQUEST_RW_EXTERNAL_STORAGE);
在哪里:
private static final int PERMISSION_REQUEST_RW_EXTERNAL_STORAGE = 783;
private static final String[] STORAGE_PERMISSIONS = new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.READ_EXTERNAL_STORAGE};
当然,我正在授予一切,我可以在“onRequestPermissionsResult”中看到应用程序收到的授予。毕竟,当尝试在外部存储中创建文件时,我的权限被拒绝。
java.io.IOException: Permission denied
运行:
Android 8 (Oreo)
compileSdkVersion 27
minSdkVersion 23
targetSdkVersion 27
编辑:我正在尝试编写此目录:/storage/emulated/0/6666-6433/DCIM/Camera/。在以前的状态中,我在本地存储中列出视频文件并在此目录中获取文件。使用此路径读取文件按预期工作。
解决方案
推荐阅读
- ruby - 将特定 URL 添加到 BASE PATH 以使用 Nokogiri 抓取网页
- javascript - 不懂 javascript 的元音计数代码?
- visual-studio - Visual Studio 中的“发布”如何工作?
- ruby-on-rails - Rails 更改长 if/else 语句
- sql - 在一个 SQL 查询中选择最大值和最小值
- css - 移除 Primefaces 组件的左侧填充
- powershell - 如何在 ScriptBlock 中传递 $_ ($PSItem)
- javascript - 获得第一次总计很好,但更改折扣或数量时会给出不正确的结果
- php - 如何修复 PHP 中的“无法打开流:打开文件过多错误”
- python - 模块“金字塔”没有属性“__version__”