【发布时间】:2017-12-16 16:35:04
【问题描述】:
我使用 Marshmallow 在虚拟 nexus 5 上测试我的应用程序
我收到有关虚拟 sd 卡准备就绪的通知,我尝试选择内部和外部存储。
我通过拖放到模拟器将文本文件上传到 sdcard/Download。
我在清单中添加了<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/> 甚至<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>。
当我尝试使用诸如此类的代码从 sd 卡读取文件时
File sdcard = Environment.getExternalStorageDirectory();
File file = new File(sdcard,"Download/gradle.build");
try {
BufferedReader br = new BufferedReader(new FileReader(file))
...}
我打开失败... EACCESS - 抛出权限被拒绝异常。
为什么我不能从 sdcard 读取文件?谢谢。
【问题讨论】:
-
如果设备运行 Android 6.0 或更高版本,并且您的应用的目标 SDK 为 23 或更高版本:应用必须在清单中列出权限,和它必须在应用程序运行时请求它需要的每个危险权限 developer.android.com/training/permissions/requesting.html
标签: android