Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/394.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android 11打开失败:EACCES(权限被拒绝)_Java_Android_Android Studio - Fatal编程技术网

Java Android 11打开失败:EACCES(权限被拒绝)

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" />

我正在开发一个应用程序。在其中,我将不同的文件类型(例如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.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"