gpt4 book ai didi

android - Android 10 中无法在真实设备的手机存储中找到文件

转载 作者:行者123 更新时间:2023-12-05 00:16:04 27 4
gpt4 key购买 nike

我正在使用三星 A30s 手机访问手机存储文件。我的文件在设备中的位置是/storage/emulated/0/MY_FILES/。我在 MY_FIlES 目录中保留了一些文件,但我的下面的代码确实如此不显示该目录下的任何包含文件。

那么如何获取手机存储中属于这个 MY_FIlES 目录的所有文件呢?

File Directory = new File("/storage/emulated/0/MY_FIlES/");
File[] files = Directory.listFiles();

但是文件返回 null;

注意:我有访问文件的权限(READ_EXTERNAL_STORAGE)。

一件重要的事情,我用最新的 API 更新了我的手机。但在更新之前,我使用了这个路径“/sdcard/MY_FIlES/,它工作得很好。

最佳答案

首先,切勿对您计划分发的应用程序的路径进行硬编码。对于这些,请使用 Context 上的方法, Environment ,或StorageVolume (仅限 Android 11)查找要使用的基目录。

对于 Android 10 和 11,您需要添加 android:requestLegacyExternalStorage="true"给您<application> list 中的元素。这会让您选择旧存储模型,并且您现有的外部存储代码将起作用。

请注意,在 Android 11+ 中,无论您是否请求 WRITE_EXTERNAL_STORAGE,您都将无法写入该目录。或不。 Google 非常希望您使用存储访问框架(例如 ACTION_OPEN_DOCUMENT ),以便用户可以更好地控制文件在其设备上或其选择的云存储提供商中的放置位置。

关于android - Android 10 中无法在真实设备的手机存储中找到文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62501388/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com