有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

用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 安卓:name="安卓.permission.READ_EXTERNAL_STORAGE" />
<uses-permission 安卓:name="安卓.permission.WRITE_EXTERNAL_STORAGE" />

共 (1) 个答案

  1. # 1 楼答案

    问题在于Environment.getDataDirectory()返回的是系统数据目录路径,而不是应用程序的路径。这就是为什么你没有读或写的权限。 基本上有两种方法:

    • 改为调用getFilesDir()。类似这样的内容:File file = getFilesDir()注意,必须从活动或服务上下文调用它

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