Android 11 - 访问私有存储中的文件

Android 11 - access file in private storage

应该可以访问私有存储。所以我做了一个测试应用程序的简单测试。我稍后会迁移所有其他体面的应用程序。

我将桌面上的一个文件放到/Android/data/nl.xyz.myapp/files/example.json.

刚刚进行了访问数据的快速测试:

File file = new File(MainActivity.mainActivity.getFilesDir(), "example.json");

从文件中读取得到一个空字符串。哦?

当使用 getFilesDir() 列出文件时,我看到那里只有一个 .Fabric 文件。我不记得在那里放了一个这样的文件 ;-)

如何通过从私有存储中的文件中读取数据来使这个简单的测试成功?

您的代码正在尝试读取 internal storage. Your location is on external storage

首先将您的代码替换为:

File file = new File(MainActivity.mainActivity.getExternalFilesDir(null), "example.json");

完成后,删除 MainActivity 中的静态 mainActivity 字段,这样就可以避免内存泄漏。