Java Android 11打开失败:EACCES(权限被拒绝)
我正在开发一个应用程序。在其中,我将不同的文件类型(例如docx、pdf、zip)上载到WAMP服务器。下面是我的内部存储器的文件路径 /存储/模拟/0/WhatsApp/Media/WhatsApp文档/api.txt 我已经添加并允许在清单文件中以及在运行时读取文件的存储权限。但是,没有可用的内部存储权限请求Java Android 11打开失败:EACCES(权限被拒绝),java,android,android-studio,Java,Android,Android Studio,我正在开发一个应用程序。在其中,我将不同的文件类型(例如docx、pdf、zip)上载到WAMP服务器。下面是我的内部存储器的文件路径 /存储/模拟/0/WhatsApp/Media/WhatsApp文档/api.txt 我已经添加并允许在清单文件中以及在运行时读取文件的存储权限。但是,没有可用的内部存储权限请求 <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
但我在三星Galaxy上的Android 11 OS a.k.a Android R上看到这个错误,当时我正在从内部存储器读取文件进行上传
java.io.FileNotFoundException:/storage/simulated/0/WhatsApp/Media/WhatsApp Documents/api.txt:open failed:EACCES(权限被拒绝)
在Android 11设备上,你的应用程序只能访问自己的文件 和公共目录中的一般中介 尝试列出whatsapp目录中的文件,您将看到它们没有列出 您有两个选项来读取文件
您可以尝试在应用程序标记的清单文件中使用
android:preserveLegacyExternalStorage=“true”
标记。此标签用于访问android 11设备中的存储。如需了解更多详细信息,请点击此链接,它将根据您的要求为您提供更多解释
我搜索了很多时间,得到了在清单文件中添加
的解决方案,并尝试在android 11手机中获得文件访问权限。然后,您将打开并从存储器中读取该文件
但问题是play store不允许您在应用程序中使用MANAGE\u EXTERNAL\u STORAGE
权限。给开发人员提供访问权限以使用它访问所有文件需要时间。
这里可能是这样,也可能不是这样。但我曾经发现,如果在USB存储模式下连接手机时调试应用程序,那么它会停止文件权限。在不将手机连接到USB和pc的情况下检查此选项,然后调试应用程序。选项2正在执行此操作。但每当应用程序在设置中获取权限时,应用程序在从用户获取响应后崩溃。如果您没有更具体的说明,则没有帮助。
android:requestLegacyExternalStorage="true"