使用Java访问Android数据目录

时间:2016-01-10 15:13:35

标签: java android

如何访问/阅读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" />

1 个答案:

答案 0 :(得分:0)

问题是Environment.getDataDirectory()返回系统数据目录路径,而不是应用程序的路径。这就是你没有阅读或写作权限的原因。 基本上有两种方法可以做到:

  • 请致电getFilesDir()。这样的事情:File file = getFilesDir()请注意,这必须从活动或服务上下文中调用。

  • 将您的包名称附加到Environment.getDataDirectory()返回的路径,如下所示:File file = new File( Environment.getDataDirectory() + "com.mycompany.myapp/")