如何访问/读取 Android 数据目录? 我试过了
File file = new File(Environment.getDataDirectory().toString());
Log.w("File", "read? "+file.canRead());
Log.w("File", "write?"+file.canWrite());
但都返回 false。我怎样才能解决这个问题? 我已经添加了外部权限:
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
最佳答案
问题在于 Environment.getDataDirectory()
返回系统数据目录路径,而不是您的应用程序的路径。这就是为什么您无权读取或写入它。
本质上有两种方法可以做到这一点:
改为调用
getFilesDir()
。像这样的东西:File file = getFilesDir()
请注意,这必须从 Activity 或 Service Context 调用。将包名称附加到
Environment.getDataDirectory()
返回的路径,如下所示:File file = new File(Environment.getDataDirectory() + "com.mycompany.myapp/")
关于java - 用Java访问Android数据目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34707011/