记录一下
@Override
public void onClick(View v) {
int id = v.getId();
if (id == R.id.btn_album) {
// 调用系统裁剪
Intent intent = new Intent(Intent.ACTION_PICK);
intent.setType("image/*");
startActivityForResult(intent, 1); // 第二个参数是请求码
}
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == RESULT_OK) {
switch (requestCode) {
case 1: // 请求码
parseUri(data);
break;
}
} else {
startActivity(new Intent(this, CameraActivity.class));
}
}
public String parseUri(Intent data) {
Uri uri = data.getData();
String imagePath;
// 第二个参数是想要获取的数据
Cursor cursor = getContentResolver()
.query(uri, new String[]{MediaStore.Images.ImageColumns.DATA},
null, null, null);
if (cursor == null) {
imagePath = uri.getPath();
} else {
cursor.moveToFirst();
// 获取数据所在的列下标
int index = cursor.getColumnIndex(MediaStore.Images.ImageColumns.DATA);
imagePath = cursor.getString(index); // 获取指定列的数据
cursor.close();
}
return imagePath; // 返回图片地址
}