千家信息网

EasyGBD访问SD卡目录报open failed: EACCES (Permission denied)如何解决

发表于:2024-11-23 作者:千家信息网编辑
千家信息网最后更新 2024年11月23日,这篇文章给大家介绍EasyGBD访问SD卡目录报open failed: EACCES (Permission denied)如何解决,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助
千家信息网最后更新 2024年11月23日EasyGBD访问SD卡目录报open failed: EACCES (Permission denied)如何解决

这篇文章给大家介绍EasyGBD访问SD卡目录报open failed: EACCES (Permission denied)如何解决,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

去年由于一整年的疫情持久战,视频监控智能分析系统在抗疫项目上也落了地,而国标GB28181协议作为公安部提出的视频流协议,在很多抗疫视频分析系统中也发挥了重要作用。

在此之前,我们就研发了国标GB28181协议的推流平台EasyGBD,当时主要是为了交警、公安在外出执勤的情况下,能够将单兵设备的视频流通过国标协议推送至国标平台,但是在今年的防疫中,我们发现医护人员仍能够通过EasyGBD来对户外执勤进行国标协议的视频记录和推流。

我们在开发EasyGBD 访问SD卡目录的时候,出现报错:open failed: EACCES (Permission denied)

分析问题:

在出现该问题的时候,我们首先想到的就是Android Q分区存储权限变更及适配问题。

为了让用户更好地控制自己的文件,并限制文件混乱的情况,Android Q修改了APP访问外部存储中文件的方法。外部存储的新特性被称为Scoped Storage。

Android Q仍然使用READ_EXTERNAL_STORAGE和WRITE_EXTERNAL_STORAGE作为面向用户的存储相关运行时权限,但现在即使获取了这些权限,访问外部存储也受到了限制。APP需要这些运行时权限的情景发生了变化,且各种情况下外部存储对APP的可见性也发生了变化。

解决问题:

刚开始在AndroidManifest.xml已经声明了读写权限,

 

但在访问相册的时候,还是报错:

open failed: EACCES (Permission denied)

解决方法是在AndroidManifest.xml添:

android:requestLegacyExternalStorage="true"

代码如下:

运行效果如下:


关于EasyGBD访问SD卡目录报open failed: EACCES (Permission denied)如何解决就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

存储 国标 权限 视频 问题 目录 情况 文件 时候 分析 运行 公安 内容 平台 方法 是在 更多 用户 系统 视频流 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 jps数据库的修改代码怎么输入 数据库扩展字段命名规范 数据库密码列加密方式 汽车二氧化碳排放量数据库 中国网络安全委员会 数据库后缀名改了可以看吗 网络安全活动通告 2018海南网络技术信息高中合格考 朝阳it软件开发 奶块普拉达服务器在哪下载 计算机等级为什么有二级数据库 网络技术保障制度 外购入库多级审核数据库表 pc算账软件开发流程 省考长春市公安局网络安全 怎么获取游戏后台服务器地址 溧水区网络技术服务 程序启动慢是不是数据库太大 网络安全班会教案一年级 团购网站数据库设计 软件开发项目管理培训课程 芜湖棋牌软件开发公司 大学网络安全要学什么 瑞银集团软件开发怎么样 数据库跑批调度 博汇多画面监测服务器操作说明 vue读取当前服务器地址 数据库从键 嘉定区推广软件开发厂家价格走势 中国软件开发公司机会
0