Android如何调用系统相机拍照
本文实例为大家分享了Android调用系统相机拍照的具体代码,供大家参考,具体内容如下
/**
*调用系统相机
*/
privatevoidtakePhoto(){
Uriuri=null;
if(which_image==FRONT_IMAGE){
frontFile=newFile(getSDPath()+"/test/front_"+getDate()+".jpg");
uri=Uri.fromFile(frontFile);
}elseif(which_image==BACK_IMAGE){
backFile=newFile(getSDPath()+"/test/back_"+getDate()+".jpg");
uri=Uri.fromFile(backFile);
}
IntentcaptureIntent=newIntent(MediaStore.ACTION_IMAGE_CAPTURE);
captureIntent.putExtra(MediaStore.Images.Media.ORIENTATION,0);
captureIntent.putExtra(MediaStore.EXTRA_OUTPUT,uri);
captureIntent.putExtra("return-data",true);
startActivityForResult(captureIntent,TAKE_PHOTO);
}
/**
*获取系统时间
*
*@return
*/
publicstaticStringgetDate(){
Calendarca=Calendar.getInstance();
intyear=ca.get(Calendar.YEAR);//获取年份
intmonth=ca.get(Calendar.MONTH);//获取月份
intday=ca.get(Calendar.DATE);//获取日
intminute=ca.get(Calendar.MINUTE);//分
inthour=ca.get(Calendar.HOUR);//小时
intsecond=ca.get(Calendar.SECOND);//秒
Stringdate=""+year+(month+1)+day+hour+minute+second;
returndate;
}
/**
*获取SDpath
*
*@return
*/
publicStringgetSDPath(){
FilesdDir=null;
booleansdCardExist=Environment.getExternalStorageState()
.equals(android.os.Environment.MEDIA_MOUNTED);//判断sd卡是否存在
if(sdCardExist){
sdDir=Environment.getExternalStorageDirectory();//获取跟目录
returnsdDir.toString();
}
returnnull;
}
@Override
protectedvoidonActivityResult(intrequestCode,intresultCode,Intentdata){
super.onActivityResult(requestCode,resultCode,data);
if(requestCode==TAKE_PHOTO&&resultCode==RESULT_OK){
//Bundlebundle=data.getExtras();
//Bitmapbitmap=(Bitmap)bundle.get("data");
//if(which_image==FRONT_IMAGE){
//ivCardFront.setImageBitmap(bitmap);
//}elseif(which_image==BACK_IMAGE){
//ivCardBack.setImageBitmap(bitmap);
//}
try{
if(which_image==FRONT_IMAGE){
Uriuri=Uri.parse(MediaStore.Images.Media.insertImage(getContentResolver(),frontFile.getAbsolutePath(),null,null));
ContentResolvercontentResolver=this.getContentResolver();
Bitmapbitmap=BitmapFactory.decodeStream(contentResolver.openInputStream(uri));
ivCardFront.setImageBitmap(bitmap);
}elseif(which_image==BACK_IMAGE){
Uriuri=Uri.parse(MediaStore.Images.Media.insertImage(getContentResolver(),backFile.getAbsolutePath(),null,null));
ContentResolvercontentResolver=this.getContentResolver();
Bitmapbitmap=BitmapFactory.decodeStream(contentResolver.openInputStream(uri));
ivCardBack.setImageBitmap(bitmap);
}
}catch(FileNotFoundExceptione){
e.printStackTrace();
}
}
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。