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(); } } }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。