博主刚刚出来实习了半年了,做过几个项目,发现每个项目里的个人中心模块里都需要有上传个人头像功能,并且都是从相册,相机拍照上传。博主刚刚出来也并不会写这些功能,于是在网上零零散散的找到怎么样去实现的代码片段,然后发现要经常用,自己就封装成了一个类。
调用PictureController工具类的代码片段:
1.调用相机,相册
selectImageDialog = new SelectImageDialog(PersonDataActivity.this, R.style.transparentFrameWindowStyle) {
@Override
public void takePhoto() {
super.takePhoto();
pictureController.startCamera();
selectImageDialog.dismiss();
}
@Override
public void uploadPhoto() {
super.uploadPhoto();
pictureController.startGallery();
selectImageDialog.dismiss();
}
};
selectImageDialog.show();
2.根据请求码的不同,做不同的操作
if (requestCode == PHOTO_REQUEST_GALLERY) {
pictureController.getIntentUriCrop(data);
} else if (requestCode == PHOTO_REQUEST_CAMERA) {
pictureController.getFileUriCrop();
} else if (requestCode == PHOTO_REQUEST_CUT) {
bitmap = pictureController.getResultFromCrop(data);
if (bitmap != null) {
this.mFace.setImageBitmap(bitmap);
imgUrls = pictureController.getImgUrls();
}
}
注意: 如果指定存储路径 onActivityResult 方法Intent date是null的