当我从相机拍摄照片时,Thia代码崩溃。但是当我从图库中选择一张照片时,它的效果很好。请指导我。我调试此代码。当我从相机拍摄照片时,数据值变得为空
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == Activity.RESULT_OK || requestCode == 200||requestCode==CAMERA_REQUEST) {
Glide.with(this).load(data.getData()).into(mDishUploadImg);
Bitmap bm = null;
try {
bm = MediaStore.Images.Media.getBitmap(mainActivity.getContentResolver(), data.getData());
} catch (IOException e) {
e.printStackTrace();
}
ByteArrayOutputStream baos = new ByteArrayOutputStream();
bm.compress(Bitmap.CompressFormat.JPEG, 50, baos); //bm is the bitmap object
byte[] b = baos.toByteArray();
base64img = Base64.encodeToString(b, Base64.NO_WRAP);
}
}
答案 0 :(得分:0)
请尝试在您的 if 语句中添加data!=null && data.getData() != null
,并且也不要使用||
,而应使用&&
。