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

2024-01-13

我正在使用三星 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/,它工作得很好。


First, 从不硬编码路径对于您计划分发的应用程序。对于这些,请使用方法Context, Environment, or StorageVolume(仅限 Android 11)查找要使用的基目录。

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

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

android 10 无法在真实设备的手机存储中找到文件 的相关文章

  • 如何在TextView中显示格式化的金额?

    我有一个货币符号String和金额double 到目前为止 我显示的金额如下 amount setText currency amount 在某些地方我有 2TextViews 显示金额 中间有填充 currency setText cur
  • 具有自定义持续时间的 ActivityOptionsCompat.makeSceneTransitionAnimation

    我正在为 API 级别 20 的设备进行场景转换 它工作正常 但我想设置自定义持续时间来进行转换 是否可以 My code ActivityOptionsCompat options ActivityOptionsCompat makeSc
  • 如何取消/取消订阅协程 Flow

    当我尝试提前取消流程时 我注意到一个奇怪的行为 看一下下面的例子 这是一个发出整数值的简单流程 private fun createFlow flow repeat 10000 emit it 然后我打电话给createFlow使用此代码的
  • Android Fragment 可以覆盖 PhoneGap Activity 吗?

    下图应代表以蓝色标记的 PhoneGap Cordova 应用程序 红色区域应该是一个Android Fragment 是否可以有一个覆盖 PhoneGap Activity 的 Android Fragment 编辑 覆盖的 Androi
  • 播放完整性本地验证

    我正在尝试将播放完整性检查集成到我的应用程序中 以确保我的应用程序没有安装在已取得 root 权限的 Android 设备上 我可以按照谷歌的指导成功获得完整性令牌响应document https developer android com
  • 连接到 Mac Mini 时设备经常失去连接

    我正在尝试在 MAC Mini 上开发 android 应用程序 并安装了所有必需的软件 如 android SDK eclipse 和 ADT 到目前为止 除了一件事之外 一切都运行良好 我正在通过 USB 连接 Google Nexus
  • Android 7.0+ 屏幕关闭时前台服务无法接收位置更新

    我正在尝试创建一个 Android 应用程序 在设备屏幕关闭时连续实时记录设备位置数据 我的代码可以在 Android 6 0 及更早版本中正常运行 但 Android 7 0 似乎会破坏我的应用程序 我已经实现了一个 Android 前台
  • 如何在Android中正确使用AsyncTask [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我不想传递任何参数doInBackgroundAsyncTask 的方法 那么代码应该是什么样的呢 import android ap
  • 颜色资源 ID 返回错误值

    我试图在 onCreate 期间以编程方式从颜色资源设置文本颜色 但得到了一些奇怪的结果 我在 res colors xml 中定义了一个颜色资源
  • 谷歌地图返回空指针异常

    当我尝试在片段上显示地图时 它返回空指针异常 我已将所有内容添加到清单中的每个权限中 我正在附加片段文件 XML 文件和日志目录 Chatffragment java public class ChatFragment extends Fr
  • 如何在Android中设置音频均衡器

    我正在制作一个媒体播放器 其中需要使用 搜索栏 将均衡器效果设置为 低音 可怕 摇滚 流行 中 我得到了一个链接 其中使用了一些 NDK 库来执行此操作 是否有任何 Java 库可以执行此操作 请解释执行此操作的逻辑是什么 Override
  • 动画片段和返回堆栈

    我在使用或理解如何弹出时遇到问题 后台堆栈中的 FragmentTransactions 处理自定义 动画 具体来说 我希望它能够调用 out 动画 但是 看来不是 我有一个简单的方法来处理片段事务 FragmentTransaction
  • 在手机上单步执行 Android 代码 - 大行号差异

    我正在尝试调试与 Samsung Captivate Galaxy S 上的 ListView 相关的一些代码 我在代码中的某个位置放置了断点 当它停止时 我会在堆栈上返回几帧到 ListView 源 现在 我可以预期会出现一些不匹配的情况
  • Gradle 从服务器收到状态代码 403:禁止

    由于这个错误 我无法构建我的 android 项目 Gradle 无法获取https www jitpack io com github Raizlabs DBFlow dbflow 3 1 1 dbflow 3 1 1 pom https
  • C# Response.Write pdf 不适用于 Android 浏览器

    我目前在 Android 环境中使用 pdf 导出时遇到了巨大的问题 我正在使用报告查看器控件将报告呈现为字节数组 接下来我使用response binarywrite方法将字节流输出到浏览器 这适用于所有浏览器以及 iPhone 和 iP
  • 用于代码生成的 ANTLR 工具版本 4.5.3 与当前运行时版本 4.7.1 不匹配

    我在 DataBindingMapperImpl java 中遇到一个特定数据绑定的错误 这会在构建项目时导致以下错误 用于代码生成的 ANTLR 工具版本 4 5 3 与当前运行时版本 4 7 1 不匹配 用于解析器编译的 ANTLR 运
  • 在 SQLite 中加密数据

    如何加密我的数据 就我研究的解决方案而言 有两种方法 使用android提供的算法加密数据 我使用android提供的 Cipher 来加密我的数据 但我在检索大量记录的数据时遇到问题 导致应用程序的性能显着降低 我对整个数据库进行了编码
  • 请求位置更新参数 android

    我对这个参数感到困惑 locationManager requestLocationUpdates provider 60000 10 listener 这是它的执行方式location update listener if time 60
  • 程序类型已存在:android.support.v4.app.BackStackRecord

    我升级了Android Studio 在最新版本中发现了很多问题 尽管存在很多类似的问题 但我检查了所有答案 但没有一个对我有用 这是我在编译代码时遇到的错误 已存在的程序类型 android support v4 app BackStac
  • Android:永久保存文件(即使在清除数据/卸载后)

    我想知道是否有一种方法可以永久存储少量数据 永久我的意思是即使用户清除应用程序数据 卸载应用程序 我也希望数据保留下来 我知道当用户清除应用程序数据 卸载应用程序时 共享首选项和数据库将被删除 我也知道我可以在 SD 卡上保存内容 但是如果

随机推荐