当前位置: 首页 > news >正文

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"

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

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

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/
📢这位道友请留步☁️,我观你气度不凡,谈吐间隐隐有王者霸气💚,日后定有一番大作为📝!!!旁边有点赞👍收藏🌟今日传你,点了吧,未来你成功☀️,我分文不取,若不成功⚡️,也好回来找我。

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

相关文章:

Android问题笔记四十六:解决open failed: EACCES (Permission denied) 问题

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

Universal adversarial perturbations(2017 CVPR)

Universal adversarial perturbations----《普遍对抗扰动》 通俗UAP算法步骤理解&#xff1a;对于 x i ∈ X {x_i} \in X xi​∈X 的每个采样数据点&#xff0c;比较 k ^ ( x i v ) \hat k({x_i} v) k^(xi​v) 与 k ^ ( x i ) \hat k({x_i}) k^(xi​) &#xff0c;如果 k…...

前台查看日志功能

前台 <template><div id="logContent"><div class="onlinlog"><div class="left"><div class="number">显示字符数:<span><el-selectv-model="strNumber"placeholder="50000…...

mysqlbinlog使用记录

首先要确认mysql启用了binlog功能。一般默认启用。 mysql> select log_bin; ----------- | log_bin | ----------- | 1 | ----------- 然后确认binlog目录 mysql> select log_bin_basename; ---------------------------- | log_bin_basename | -----…...

学习c#的第十八天

目录 C# 文件的输入与输出 C# I/O 类 FileStream 类 文本文件的读写 StreamReader 类 StreamWriter 类 实例 二进制文件的读写 BinaryReader 类 BinaryWriter 类 实例 Windows 文件系统的操作 DirectoryInfo 类 FileInfo 类 实例 C# 文件的输入与输出 一个 文件…...

element + vue3,级联选择器实现省市区

由于es6支持哈希&#xff0c;所以数据量只要不太大&#xff0c;就不需要对el-cascader进行点击后在调接口出现下一级&#xff0c;很简单的就是直接获取所有数据。 <template><div><el-cascader :modelValue"modelValue" :props"innerProps"…...

程序员的护城河-并发编程

&#x1f44f;作者简介&#xff1a;大家好&#xff0c;我是爱吃芝士的土豆倪&#xff0c;24届校招生Java选手&#xff0c;很高兴认识大家&#x1f4d5;系列专栏&#xff1a;Spring源码、JUC源码&#x1f525;如果感觉博主的文章还不错的话&#xff0c;请&#x1f44d;三连支持&…...

外卖小程序系统:数字化餐饮的编码之道

在当今数字化时代&#xff0c;外卖小程序系统成为了餐饮业的一项技术巨制。这个系统不仅提供了便捷的点餐体验&#xff0c;更通过先进的技术手段&#xff0c;实现了高效订单处理、实时配送追踪以及个性化推荐。让我们深入了解外卖小程序系统的技术魔法&#xff0c;一起揭秘数字…...

单链表相关面试题--1.删除链表中等于给定值 val 的所有节点

/* 解题思路&#xff1a;从头节点开始进行元素删除&#xff0c;每删除一个元素&#xff0c;需要重新链接节点 */ struct ListNode* removeElements(struct ListNode* head, int val) {if(head NULL)return NULL;struct ListNode* cur head;struct ListNode* prev NULL;while…...

一生一芯18——Chisel模板与Chisel工程构建

Chisel模板链接如下&#xff1a; 链接: https://pan.baidu.com/s/1DNDKpz5VnTxPgoZBBOd-Ww?pwdrevg 提取码: revg Chisel转Verilog模板如下&#xff1a; 链接: https://pan.baidu.com/s/1T9JQL5BccxqI4bscfU-JyA?pwd7rw2 提取码: 7rw2 以下使用sbt作为构建工具 Chisel项目构…...

ES6 class类

基本介绍 1. constructor constructor()方法是类的默认方法&#xff0c;通过new命令生成对象实例时&#xff0c;自动调用该方法。 一个类必须有constructor()方法&#xff0c;如果没有显式定义&#xff0c;一个空的constructor()方法会被默认添加。如&#xff1a; class Po…...

Java的IO流-打印流

打印流 PrintStream public void println&#xff08;&#xff09;自动换行 PrintWriter package com.itheima.println;import java.io.FileInputStream; import java.io.PrintStream; import java.io.PrintWriter;public class Test2 {public static void main(String[] arg…...

如何使用$APPEALS法,分析用户期待?

$APPEALS分析法是一种用于分析用户期待和需求的方法&#xff0c;它可以帮助企业全方位多角度地了解客户对产品的期望&#xff0c;有助于企业多维度有侧重地调整市场规划和产品改进策略&#xff0c;帮助企业打造优势产品&#xff0c;提高市场竞争力。 下面是使用$APPEALS分析法来…...

南京工程学院数据结构考试纲要

...

C++中将 sizeof() 用于类

C中将 sizeof() 用于类 您知道&#xff0c;通过使用关键字 class 声明自定义类型&#xff0c;可封装数据属性和使用数据的方法。运算符 sizeof( )用于确定指定类型需要多少内存&#xff0c;单位为字节。这个运算符也可用于类&#xff0c;在这种情况下&#xff0c;它将指出类声…...

Android studio访问选程https接口(.crt handshake)

如果服务器是https的&#xff0c;访问受限怎么办&#xff1f;有两种方法&#xff0c;一种是接受一切证书个人官方正式非正式&#xff0c;当然这样就牺牲了安全性&#xff0c;网上方法很多&#xff0c;我现在教大家如何去验证crt文件 首先服务器是https的&#xff0c;必然有几个…...

设计模式(一)-设计原则(1)

六大设计原则 1、单一职责原则 特点&#xff1a; 类和方法属性等&#xff0c;都应当遵守单一职责。尽可能保持统一性&#xff0c;单一性。 含义&#xff1a; &#xff08;1&#xff09;统一性&#xff0c;定义一个模块就必须要符合所有对象的行为特征。比如声明一个 Animal 类…...

Linux|僵死进程

1.僵死进程产生的原因或者条件: 什么是僵死进程? 当子进程先于父进程结束,父进程没有获取子进程的退出码,此时子进程变成僵死进程. 简而言之,就是子进程先结束,并且父进程没有获取它的退出码; 那么僵死进程产生的原因或者条件就是:子进程先于父进程结束,并且父进程没有获取…...

JDY蓝牙注意事项

波特率设置&#xff1a;9600&#xff0c;不接受115200&#xff0c;或者38400. 不同于WiFi测试&#xff0c;jdy蓝牙不接受AT"指令&#xff0c;可以使用“ATVERSION"指令测试 安信可公司的那个蓝牙指令在这里没有用&#xff0c;不知道是不是生产的公司不一样...

服务器IPMI管理操作

简介&#xff1a;智能平台管理界面&#xff08;IPMI&#xff0c;Intelligent Platform Management Interface)是管理基于 Intel 结构的企业系统中所使用的外围设备采用的一种工业标准&#xff0c;用户可以利用IPMI监视服务器的物理健康特征&#xff0c;如温度、电压、风扇工作状…...

Pixel Aurora Engine基础教程:Streamlit前端交互逻辑与后端diffusers集成

Pixel Aurora Engine基础教程&#xff1a;Streamlit前端交互逻辑与后端diffusers集成 1. 认识像素极光引擎 Pixel Aurora Engine是一款将AI图像生成与复古游戏美学完美融合的创意工具。它采用Streamlit构建前端界面&#xff0c;后端集成diffusers库实现稳定扩散模型的强大生成…...

YOLOv8特征可视化实战:如何用一行代码查看模型内部特征图(附完整代码)

YOLOv8特征可视化实战&#xff1a;如何用一行代码查看模型内部特征图&#xff08;附完整代码&#xff09; 在计算机视觉领域&#xff0c;YOLO系列模型因其卓越的实时检测性能而广受欢迎。但对于开发者而言&#xff0c;仅仅使用模型进行预测往往不够——理解模型内部如何"思…...

TFT LCD屏幕硬件解析:从XPT2046触摸屏到背光控制的完整指南

TFT LCD屏幕硬件解析&#xff1a;从XPT2046触摸屏到背光控制的完整指南 在工业控制面板和医疗设备显示屏等专业领域&#xff0c;TFT LCD屏幕凭借其高精度显示和可靠触控性能成为首选方案。不同于消费级产品的通用设计&#xff0c;专业场景下的屏幕需要工程师深入理解从触摸采样…...

原神帧率解锁终极指南:3步轻松突破60FPS限制,享受极致流畅体验

原神帧率解锁终极指南&#xff1a;3步轻松突破60FPS限制&#xff0c;享受极致流畅体验 【免费下载链接】genshin-fps-unlock unlocks the 60 fps cap 项目地址: https://gitcode.com/gh_mirrors/ge/genshin-fps-unlock 还在为原神60帧限制而苦恼吗&#xff1f;高端显卡却…...

TPAMI 2026 | 雨雾噪模糊全搞定!CPL 框架让图像复原告别单一任务限制

点击上方“小白学视觉”&#xff0c;选择加"星标"或“置顶” 重磅干货&#xff0c;第一时间送达在日常拍摄中&#xff0c;一张照片可能同时遭遇噪声、雾霾、雨滴等多种退化问题&#xff0c;而传统图像复原方法要么只能处理单一退化类型&#xff0c;要么在多任务场景下…...

别怕C++!手把手拆解TinyML测试框架:用micro_test.h给你的嵌入式AI代码加个‘保险丝’

嵌入式AI开发者的测试实战指南&#xff1a;用micro_test.h构建TinyML质量防线 在资源受限的微控制器上开发AI应用时&#xff0c;一个被反复验证的真理是&#xff1a;没有自动化测试的代码就像没有安全网的走钢丝。当你的神经网络模型需要在仅有几KB内存的设备上运行时&#xff…...

ssm+java2026年毕设蔬果批发网络平台【源码+论文】

本系统&#xff08;程序源码&#xff09;带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容一、选题背景关于农产品电商交易模式的研究&#xff0c;现有研究主要以综合电商平台&#xff08;如淘宝、京东&#xff09;的农产品销售模式…...

Qwen2.5-VL应用指南:如何用它做智能客服、文档分析和内容创作

Qwen2.5-VL应用指南&#xff1a;如何用它做智能客服、文档分析和内容创作 1. 引言&#xff1a;认识Qwen2.5-VL的强大能力 Qwen2.5-VL是通义千问团队推出的最新视觉-语言多模态模型&#xff0c;相比前代产品有了显著提升。这个7B参数的模型不仅能理解图像内容&#xff0c;还能…...

4个维度解析Lenovo Legion Toolkit:游戏本性能管理的轻量革命

4个维度解析Lenovo Legion Toolkit&#xff1a;游戏本性能管理的轻量革命 【免费下载链接】LenovoLegionToolkit Lightweight Lenovo Vantage and Hotkeys replacement for Lenovo Legion laptops. 项目地址: https://gitcode.com/gh_mirrors/le/LenovoLegionToolkit 1.…...

如何用开源工具实现3D打印钥匙自由?从参数测量到模型生成的实践路径

如何用开源工具实现3D打印钥匙自由&#xff1f;从参数测量到模型生成的实践路径 【免费下载链接】keygen OpenSCAD tools for generating physical keys 项目地址: https://gitcode.com/gh_mirrors/ke/keygen 在数字化制造蓬勃发展的今天&#xff0c;3D打印技术正逐步走…...