首先我们先导入权限:
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> <uses-permission android:name="android.permission.CAMERA"/>
//拍照
paizhao.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
intent.addCategory("android.intent.category.DEFAULT");
startActivityForResult(intent, 1000);
}
}); //相册
xiangce.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(Intent.ACTION_PICK);
intent.setType("image/*");
startActivityForResult(intent, 2000);
}
}); //取消
cancel.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
pop.dismiss();
}
});
}
});
@Override public void onActivityResult(int requestCode,int resultCode,Intent data){
// TODO Auto-generated method stub
super.onActivityResult(requestCode,resultCode,data);
if(requestCode==1000){Bitmap bitmap=data.getParcelableExtra("data");
icon.setImageBitmap(bitmap);pop.dismiss();
}
if(requestCode==2000){Uri uri=data.getData();icon.setImageURI(uri);pop.dismiss();
}
if(requestCode==3000){Bitmap bitmap=data.getParcelableExtra("data");icon.setImageBitmap(bitmap);
}}
//裁剪
private void crop(Uri uri){
Intent intent=new Intent("com.android.camera.action.CROP");
intent.setDataAndType(uri,"image/*");intent.putExtra("crop","true");
//裁减比例1:1
intent.putExtra("aspectX",1);intent.putExtra("aspectY",1);
//裁剪后图片大小
intent.putExtra("outputX",250);intent.putExtra("outputY",250);
intent.putExtra("outputFormat","JPEG");
intent.putExtra("noFaceDatection",false);
intent.putExtra("return-data",true);startActivityForResult(intent,3000);
}