无法授予我的 Android 应用程序在 Android 13 上读取文本文件的权限

问题描述 投票:0回答:1

我正在用java实现一个android应用程序,一切都运行良好,直到我将它安装在android 13版本上。从那时起,我无法授予读取文件(特别是文本文件)的权限。我该如何解决?

android-permissions android-version
1个回答
0
投票

我还遇到了无法从指定路径访问ExternalStorage 来获取文本文件的问题,如下所示:

/storage/emulated/0/ dictfiles/

直到SKD<=12, I was setting my path as :

private final static String PATH = "/dictfiles/";
String stringPathDirectory = Environment.getExternalStorageDirectory().getAbsolutePath() + PATH;

直到版本 sdk=12 一切都可以正常工作,而 sdk=13 则停止工作 - 权限被拒绝。

我的临时解决方案

根据SDK=13的新方式,我们可以访问:

<uses-permission android:name="android.permission.READ_MEDIA_IMAGES"  />
<uses-permission android:name="android.permission.READ_MEDIA_VIDEO"  />
<uses-permission android:name="android.permission.READ_MEDIA_AUDIO"  />

因此,我在清单文件中输入了新方法所需的内容,但我仍然无法从指定的路径中读取内容。 查看上述权限,我们可以访问其他图片中的几个目录。

所以将我的包含文本文件的目录放入PICTURES目录中。

我将目录和文件的访问路径更改为:

String stringPathDirectory = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES)+ PATH;

所以现在我的目录路径看起来像

/storage/emulated/0/Pictures/dictfiles

但是我的代码片段:

File[] files = directory.listFiles();

扫描了目录中的文件,仍然找不到我的文本文件。我认为,因为 Android 默认情况下需要图片目录中的图形文件,而且确实如此,它找到了 .jpg .png .gif 但我的 dicfiles 目录中的文本文件丢失了。因此,在我的所有文本文件中,我向文本文件添加了 .jgp 扩展名,现在代码不会跳过它们。

直到我找到另一个解决方案,我就是这样解决的,但是我在网上没有找到另一个解决方案,我已经找了很长时间了。

© www.soinside.com 2019 - 2024. All rights reserved.