本文实例为大家分享了Android调用系统相机拍照的具体代码,供大家参考,具体内容如下
/** * 调用系统相机 */ private void takePhoto() {
Uri uri = null;
if (which_image == FRONT_IMAGE) {
frontFile = new File(getSDPath() +"/test/front_" + getDate() + ".jpg");
uri = Uri.fromFile(frontFile);
}
else if (which_image == BACK_IMAGE) {
backFile = new File(getSDPath() + "/test/back_" + getDate() + ".jpg");
uri = Uri.fromFile(backFile);
}
Intent captureIntent = new Intent(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 */ public static String getDate() {
Calendar ca = Calendar.getInstance();
int year = ca.get(Calendar.YEAR);
// 获取年份 int month = ca.get(Calendar.MONTH);
// 获取月份 int day = ca.get(Calendar.DATE);
// 获取日 int minute = ca.get(Calendar.MINUTE);
// 分 int hour = ca.get(Calendar.HOUR);
// 小时 int second = ca.get(Calendar.SECOND);
// 秒 String date = "" + year + (month + 1) + day + hour + minute + second;
return date;
}
/** * 获取SD path * * @return */ public String getSDPath() {
File sdDir = null;
boolean sdCardExist = Environment.getExternalStorageState() .equals(android.os.Environment.MEDIA_MOUNTED);
// 判断sd卡是否存在 if (sdCardExist) {
sdDir = Environment.getExternalStorageDirectory();
// 获取跟目录 return sdDir.toString();
}
return null;
}
@Override protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == TAKE_PHOTO && resultCode == RESULT_OK) {
// Bundle bundle = data.getExtras();
// Bitmap bitmap = (Bitmap) bundle.get("data");
// if (which_image == FRONT_IMAGE) {
// ivCardFront.setImageBitmap(bitmap);
// }
else if (which_image == BACK_IMAGE) {
// ivCardBack.setImageBitmap(bitmap);
// }
try {
if (which_image == FRONT_IMAGE) {
Uri uri = Uri.parse(MediaStore.Images.Media.insertImage(getContentResolver(), frontFile.getAbsolutePath(), null, null));
ContentResolver contentResolver = this.getContentResolver();
Bitmap bitmap = BitmapFactory.decodeStream(contentResolver.openInputStream(uri));
ivCardFront.setImageBitmap(bitmap);
}
else if (which_image == BACK_IMAGE) {
Uri uri = Uri.parse(MediaStore.Images.Media.insertImage(getContentResolver(), backFile.getAbsolutePath(), null, null));
ContentResolver contentResolver = this.getContentResolver();
Bitmap bitmap = BitmapFactory.decodeStream(contentResolver.openInputStream(uri));
ivCardBack.setImageBitmap(bitmap);
}
}
catch (FileNotFoundException e) {
e.printStackTrace();
}
}
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。