如何解决从 Android 中的某个位置访问文件
我正在尝试使用以下代码访问(仅读取)Android 设备中某个位置的可用文件列表,但我收到的响应为 null。如果我遗漏了什么,请纠正我。我在 Android 11 中尝试了以下代码,我希望它可以从 Android 9 开始运行。
File[] files = new File("/storage/emulated/0/Android/data/MyApp/files/").listFiles();
我为上面的代码获取空值。我还在我的 AndroidManifest.xml 文件中添加了以下权限。
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
在代码中也有权限授予请求,并在AndroidManifest的应用程序标签中添加了以下属性。
android:requestLegacyExternalStorage="true"
添加以上所有内容后,我仍然面临从给定位置获取文件的问题。 我这样做是否正确?我的目标是在应用程序启动后访问这些文件,这些文件将由用户使用 ADB 命令手动添加到该位置。
解决方法
请试试这个方法
用于内部文件(/data/data)
File[] files = getApplicationContext().getFilesDir().listFiles();
用于外部文件(/sdcard)
File[] files = getApplicationContext().getExternalFilesDirs("your path");
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。