【发布时间】:2018-10-17 04:58:44
【问题描述】:
我有一个文本文件,其中包含一些要复制到 SQLite 数据库中的数据。
我无法访问手机“下载”目录中的文件我有一个 Permission denied 异常(我使用 Android-Studio-3.1.4 的设备文件资源管理器提供的路径,它允许我创建一个文件,获取它的路径,编辑内容但不保存!)。
一些论坛告诉我必须将文件放在 data/data/app-name 上,但我在技术上没有这样做。
我尝试在我的项目中创建一个新文件,但我仍然不知道如何使用代码访问它。
FileInputStream file = new FileInputStream("/storage/self/primary/Download/file.txt"));
在此行之前我尝试添加:
Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS);
但这不是解决方案。
那么我应该把文件放在哪里?什么是正确的道路?我应该在清单中添加哪些必需的权限?
谢谢。
【问题讨论】:
-
在清单中包含
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>或在 Android 6.0 的运行时执行 -
另外请查看this answer
-
对于较新的方式也必须实现fileprovider。
标签: android file android-studio-3.1.4