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
字段,这样就可以避免内存泄漏。
应该可以访问私有存储。所以我做了一个测试应用程序的简单测试。我稍后会迁移所有其他体面的应用程序。
我将桌面上的一个文件放到
刚刚进行了访问数据的快速测试:
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
字段,这样就可以避免内存泄漏。