Android APP读写外置SD卡无权限 java.io.IOException: Permission denied

在物联网应用里,app需要对挂载SD卡读写文件,从 Android 4.4(KitKat)版本开始,Google 引入了一项名为 "Storage Access Framework" 的新功能,该功能限制了应用对外部存储的直接读写权限,要不然就是只有系统APP才可有权限,所以我们需要对系统进行修改,修改后适配测试已经测试了Android 7.1、Android 8.1,可以进行文件的读写。

清单文件配置

复制代码
 <uses-permission
        android:name="android.permission.WRITE_EXTERNAL_STORAGE"
        tools:node="replace" />
    <uses-permission  android:name="android.permission.WRITE_MEDIA_STORAGE"/>   <!--系统添加跳过外插SD卡权限-->
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
1、 找到系统文件的的路径文件:/frameworks/base/services/core/java/com/android/server/pm/PackageManagerService.java
2、将原有判断注释掉直接增加 grant = GRANT_INSTALL; 这里也可以增加判断包名或者其他权限判断再返回GRANT_INSTALL;

翻译

搜索

复制

相关推荐
橙子199110161 小时前
Android 第三方框架 相关
android
赏金术士1 小时前
JetPack Compose 弹窗、菜单、交互组件(五)
android·kotlin·交互·android jetpack·compose
海天鹰2 小时前
高版本安卓老应用下面空白
android
猫的玖月2 小时前
(七)函数
android·数据库·sql
秋93 小时前
java中对操作mysql8.0.46与MySQL9.7.0有什么区别,并举例说明
android·java·adb
小书房3 小时前
Kotlin协程的运行原理
android·开发语言·kotlin·协程
ooseabiscuit3 小时前
Laravel10.x重磅发布:新特性全解析
android·java·开发语言·mysql
svdo1250p3 小时前
“Fatal error: require(): Failed opening required...” 以及如何彻底避免它再次出现
android·ide·android studio