java - 用Java访问Android数据目录

标签 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" />

最佳答案

问题在于 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/

相关文章:

Java 到 Javascript/HTML5 Canvas

android - Android ListView 的 transcriptMode 是什么?

android - 在 android 中通过反射使用 BatteryStatsImpl 内部类

android - 如何在 AlertDialog 中添加多个 EditText 对象

Java:Try/Catch 语句:捕获到异常时,是否重复 try 语句?

java - 如何在Spring MVC中将多维数组处理为@RequestParam?

Java - 来自不同对象类型的相同属性的比较器类

java - JPA:单例实体

android - 如何在 AlertDialog 框中添加两个编辑文本字段或 View ?

android - QB twitter auth 在先前已知的良好设置上返回错误的身份验证