赞
踩
调用系统相机和相册上传图片的流程:
1.点击一个按钮触发调用操作。
case R.id.photograph:
// 拍照
photograph.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent("android.media.action.IMAGE_CAPTURE");//调用系统照相机的代码
// 2判断存储卡是否可以用,可用进行存储
String tempFileName = "";
if(type == 1){
tempFileName = IMAGE_FRONT;
}else if(type == 2){
tempFileName = IMAGE_BACK;
}else if(type == 3){
tempFileName = IMAGE_HANDS;
}
//3从内存卡读取存储的照片,传给请求照片的页面
if (hasSdcard()) {
intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri
.fromFile(new File(Environment
.getExternalStorageDirectory(),
tempFileName)));
}
startActivityForResult(intent, PHOTO_REQUEST_CAMERA);
}
});
//4用onActivityResult()方法根据不同的请求码保存获得的图片
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == RESULT_OK) { // resultCode == RESULT_OK表示系统返回的是否成功的判断码
switch (requestCode) {
case PHOTO_REQUEST_CAMERA:
setResult(2001,data);//5用setResult方法把图片保存起来,2001为结果码,data为图片数据。
finish();//6.该方法一定要写
break;
case PHOTO_REQUEST_GALLERY:
setResult(2002,data);
finish();
break;
}
}
//7返回前一个界面,根据结果码显示图片。
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
try {
//选择图片
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。