码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Android问题笔记四十六:解决open failed: EACCES (Permission denied) 问题


    点击跳转专栏=>Unity3D特效百例点击跳转专栏=>案例项目实战源码
    点击跳转专栏=>游戏脚本-辅助自动化点击跳转专栏=>Android控件全解手册
    点击跳转专栏=>Scratch编程案例点击跳转=>软考全系列
    点击跳转=>蓝桥系列点击跳转=>ChatGPT和AIGC

    👉关于作者

    专注于Android/Unity和各种游戏开发技巧,以及各种资源分享(网站、工具、素材、源码、游戏等)
    有什么需要欢迎底部卡片私我,交流让学习不再孤单。

    在这里插入图片描述

    👉实践过程

    😜问题

    Android Q 引入了分区存储的概念
    官方解释:以 Android 10(API 级别 29)及更高版本为目标平台的应用
    默认情况下被赋予了对外部存储空间的分区访问权限(即分区存储)

    分区存储改变了应用在设备的外部存储设备中存储和访问文件的方式。
    虽然Android 为对外部存储空间的读写访问定义了以下权限:
    READ_EXTERNAL_STORAGE 和 WRITE_EXTERNAL_STORAGE。
    但是对启用了分区存储方式的平台,访问外部存储也受到了限制。

    😜解决

    以 Android 10(API 级别 29)为目标平台,请停用分区存储,继续使用适用于 Android 9 及更低版本的方法来执行此操作。
    在清单文件 application节点内添加 requestLegacyExternalStorage属性

    android:requestLegacyExternalStorage="true"
    
    • 1

    以 Android 11 (API 级别 30)为目标平台后,会强制执行分区存储,系统会忽略 requestLegacyExternalStorage 标记。并且WRITE_EXTERNAL_STORAGE 权限和 WRITE_MEDIA_STORAGE 特许权限将不再提供任何其他访问权限。
    但是Android 提供了一种名为“所有文件访问权限”的特殊应用访问权限。在我们的清单文件内添加权限****
    ``

      <uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE"/>
    
    • 1

    MANAGE_EXTERNAL_STORAGE权限授予以下访问:
    1、对共享存储中的所有文件进行读写访问。
    2、访问MediaStore.Files表的内容 。
    3、访问USB便携式(OTG)驱动器和SD卡的根目录。
    4、访问所有内部存储directories⁠,除了 /Android/data/,/sdcard/Android和大多数子目录 /sdcard/Android。

    不过我们最好还是要迁移数据进行分区存储,以便更好地管理自己的文件、减少混乱。这样的话,即使在启用分区存储后,您的应用也可以继续访问这些文件。
    需要注意的是从 Android 11 开始,
    1、应用无法在外部存储设备上创建自己的应用专用目录。如需访问系统为您的应用提供的目录,请调用 getExternalFilesDirs()。
    2、应用不能访问其他任何应用的数据目录中的文件。
    3、应用无法再访问外部存储设备中的任何其他应用的专用于特定应用的目录中的文件。

    详情请看:
    Android 11 中的存储机制更新
    Android 存储用例和最佳做法

    👉其他

    📢作者:小空和小芝中的小空
    📢转载说明-务必注明来源:https://zhima.blog.csdn.net/
    📢这位道友请留步☁️,我观你气度不凡,谈吐间隐隐有王者霸气💚,日后定有一番大作为📝!!!旁边有点赞👍收藏🌟今日传你,点了吧,未来你成功☀️,我分文不取,若不成功⚡️,也好回来找我。

    温馨提示:点击下方卡片获取更多意想不到的资源。
    空名先生

  • 相关阅读:
    linux中利用fork复制进程,printf隐藏的缓冲区,写时拷贝技术,进程的逻辑地址与物理地址
    Django常见面试题总结(二)
    kafka知识小结
    文件安全传输系统,如何保障信创环境下数据的安全传输?
    SpringBoot 开放HTTPS HTTP ,并且强制HTTP转HTTPS端口
    VsCode密钥链接远程服务器
    力扣 1319. 连通网络的操作次数
    常用lambda表达式
    docker&kubernets篇(十七)
    使用Python自动发送邮件
  • 原文地址:https://blog.csdn.net/qq_27489007/article/details/134096235
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号