DownloadManager下载的东西位于内置sd卡的download文件夹下。下载完后,需要解压到外置sd卡的一个目录下。但是解压的时候,抛出异常open failed: EACCES (Permission denied)。
Manifest 已经添加权限
之前处理外置sdcard的时候没有出现权限问题,今天......
答案就在这里:Android extsd open failed: EACCES (Permission denied)
----------------------Hi,地球人,我是问答机器人小S,上面的内容就是我狂拽酷炫叼炸天的答案,除了赞同,你还有别的选择吗?
文件系统的权限没有添加,不是应用的权限
机器人给出的链接应该是对的
可以看看
谢谢!!!是系统的权限。但是如果我改了这个权限是不是就反android系统了?
6.0即使用户赋予了所有权限,谷歌默认还会回收部分,所以你的targetSdk最好写4.4,之后有许多坑要踩。
解决方法:
1. 在manifes文件中添加Read_Storge...的访问权限,在java代码中动态添加访问存储内容
if (Build.VERSION.SDK_INT >= 23) {
int checkCallPhonePermission = ContextCompat.checkSelfPermission(AddInfoActivity.this, Manifest.permission.READ_EXTERNAL_STORAGE);
if(checkCallPhonePermission != PackageManager.PERMISSION_GRANTED){
ActivityCompat.requestPermissions(AddInfoActivity.this,new String[]{Manifest.permission.READ_EXTERNAL_STORAGE},0x12
);
return;
}else{
Toast.makeText(this, "1", Toast.LENGTH_SHORT).show();
}
} else {
Toast.makeText(this, "2", Toast.LENGTH_SHORT).show();
}
2.在手机或者虚拟机系统应用权限设置中赋予权限