用户头像功能是一个常用的功能,很多app里面都有用到.下面小结一下:
/* * 用户头像功能 * 1 弹出对话框 选择本地相册或者拍照上传 * 1.1 本地相册上传 * Intent intent1 = new Intent(); intent1.setType("image/*"); intent1.setAction(Intent.ACTION_PICK); mContext.startActivityForResult(intent1, PHOTO_REQUEST_GALLERY); * 1.2 拍照上传 * Intent intent = new Intent("android.media.action.IMAGE_CAPTURE"); // 判断存储卡是否可以用,可用进行存储 if (hasSdcard()) { //指定保存路径为sd卡,PHOTO_FILE_NAME是一个临时文件,每次拍照图片都会被替换 Uri imageUri = Uri.fromFile(new File(Environment.getExternalStorageDirectory(), PHOTO_FILE_NAME)); intent.putExtra(MediaStore.EXTRA_OUTPUT, imageUri); mContext.startActivityForResult(intent, PHOTO_REQUEST_CAMERA); }else{ Utils.toast(mContext, "请确认已经插入SD卡"); } 2 获取照片OnActivityResult data.getdata data.getData(); crop(uri)裁剪图片 3 压缩照片 4 显示照片 bitmap = data.getParcelableExtra("data"); this.mHeadImage.setImageBitmap(bitmap); 5 保存本地 saveBitmap(bitmap); 6 上传到服务器 oos */