项目中头像上传功能需要用到访问相册并上传的,在华为机型中存在访问失败或Uri无法访问到图片文件的情况。
解决方法是动态申请SD卡文件访问和创建权限,
在Activity 中 onCreate方法上添加动态申请申请的语句,如下:
private static final int REQUEST_EXTERNAL_STORAGE = 1; // 不可改
private static String[] PERMISSIONS_STORAGE = {
Manifest.permission.READ_EXTERNAL_STORAGE,
Manifest.permission.WRITE_EXTERNAL_STORAGE
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setAbContentView(R.layout.main1);
int permission = ActivityCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE);
if (permission != PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(this, PERMISSIONS_STORAGE, REQUEST_EXTERNAL_STORAGE);
}
initView();
}