我有一个文本文件,其中包含一些我想要复制到SQLite数据库中的数据。我无法访问手机的"downloads“目录上的文件,我有一个权限被拒绝的例外(我使用Android-Studio-3.1.4的设备文件资源管理器提供的路径,它允许我创建文件,获取其路径,编辑内容,但不保存它!)。
一些论坛告诉我必须将文件放在data/data/app-name上,但从技术上讲,我没有做到这一点。
我试图在我的项目中创建一个新文件,但我仍然不知道如何通过代码访问它。
FileInputStream file = new FileInputStream("/storage/self/primary/Download/file.txt"));在这一行之前,我尝试添加:
Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS);但这不是解决之道。
那么我应该把文件放在哪里呢?正确的道路是什么?我应该在清单中添加哪些必需的权限?谢谢。
发布于 2018-10-17 13:41:18
在访问存储中的任何文件之前,您需要获得许可。
可供阅读:<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
写入:<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> (该权限显式授予读权限)
此外,您需要在运行Android M或更高版本的设备上在运行时请求这些权限。
检查以下链接:https://developer.android.com/training/permissions/requesting
https://stackoverflow.com/questions/52847543
复制相似问题