无法读取本地图片的错误(运行时权限的添加)
当使用相机或者相册,将图片保存在文件中,却无法下载文件中的图片时,可能是权限问题,android6.0之后不仅需要在Mainfest里面添加权限,还需要添加运行时权限。添加运行时的权限代码如下:
if(ContextCompat.checkSelfPermission(MainActivity.this,Manifest.permission.WRITE_EXTERNAL_STORAGE)!= PackageManager.PERMISSION_GRANTED){
ActivityCompat.requestPermissions(MainActivity.this,new String[]{
Manifest.permission.WRITE_EXTERNAL_STORAGE},1);
}
#你还可以添加回调代码,来调整运行添加权限之后的情况:
@Override
public void onRequestPermissionsResult(int requestCode,String[] permissions, int[] grantResults) {
switch (requestCode){
case 1:
//如果同意权限
if(grantResults.length > 0 && grantResults[0] ==PackageManager.PERMISSION_GRANTED){
}else{
//如果拒绝添加权限
Toast.makeText(this,"拒绝权限将无法使用程序",Toast.LENGTH_SHORT).show;
finish;
}
}
}