读取文件|管理文件|allow access to manage all files|can't read file|not found as file or resource|申请允许管理所有文件权限 > **环境** > > **Target SDK Version: API 34 android 14 开发软件 android studio 2023.01.01** > **注意** > > **android 11 之后,单单增加**`uses-permission`标签已经不行了,必须要在使用中授权,让用户手动开启权限。 这也就是为什么之前SDK26的时候是成功的但是修改为SDK31之后就不行了 > **参考** > > [https://blog.csdn.net/Mr\_WuTengFei/article/details/113742442](https://blog.csdn.net/Mr_WuTengFei/article/details/113742442) > > [https://stackoverflow.com/questions/73591741/android-itext-pdfreader-throws-ioexception-not-found-as-file-or-resource](https://stackoverflow.com/questions/73591741/android-itext-pdfreader-throws-ioexception-not-found-as-file-or-resource) **只要在启动应用的时候进行判断就行了,加上以下代码** ``` if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) { if (Environment.isExternalStorageManager()) { //todo when permission is granted } else { //request for the permission Intent intent = new Intent(Settings.ACTION_MANAGE_APP_ALL_FILES_ACCESS_PERMISSION); Uri uri = Uri.fromParts("package", getPackageName(), null); intent.setData(uri); startActivity(intent); } } ``` **或者** ``` Intent intent = new Intent(Settings.ACTION_MANAGE_APP_ALL_FILES_ACCESS_PERMISSION); intent.setData(Uri.parse("package:" + getPackageName())); startActivityForResult(intent, Request_Code); ``` **最后需要注意不要忘记在`AndroidManifest.xml`中加上** ``` ``` Loading... 读取文件|管理文件|allow access to manage all files|can't read file|not found as file or resource|申请允许管理所有文件权限 > **环境** > > **Target SDK Version: API 34 android 14 开发软件 android studio 2023.01.01** > **注意** > > **android 11 之后,单单增加**`uses-permission`标签已经不行了,必须要在使用中授权,让用户手动开启权限。 这也就是为什么之前SDK26的时候是成功的但是修改为SDK31之后就不行了 > **参考** > > [https://blog.csdn.net/Mr\_WuTengFei/article/details/113742442](https://blog.csdn.net/Mr_WuTengFei/article/details/113742442) > > [https://stackoverflow.com/questions/73591741/android-itext-pdfreader-throws-ioexception-not-found-as-file-or-resource](https://stackoverflow.com/questions/73591741/android-itext-pdfreader-throws-ioexception-not-found-as-file-or-resource) **只要在启动应用的时候进行判断就行了,加上以下代码** ``` if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) { if (Environment.isExternalStorageManager()) { //todo when permission is granted } else { //request for the permission Intent intent = new Intent(Settings.ACTION_MANAGE_APP_ALL_FILES_ACCESS_PERMISSION); Uri uri = Uri.fromParts("package", getPackageName(), null); intent.setData(uri); startActivity(intent); } } ``` **或者** ``` Intent intent = new Intent(Settings.ACTION_MANAGE_APP_ALL_FILES_ACCESS_PERMISSION); intent.setData(Uri.parse("package:" + getPackageName())); startActivityForResult(intent, Request_Code); ``` **最后需要注意不要忘记在`AndroidManifest.xml`中加上** ``` <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE" /> ``` 最后修改:2025 年 07 月 14 日 © 允许规范转载 赞 别打赏,我怕忍不住购买辣条与续命水