700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > android代码调用相机 Android如何调用系统相机拍照

android代码调用相机 Android如何调用系统相机拍照

时间:2022-08-08 12:15:25

相关推荐

android代码调用相机 Android如何调用系统相机拍照

本文实例为大家分享了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));

ContentResolver contentResolver = this.getContentResolver();

Bitmap bitmap = BitmapFactory.decodeStream(contentResolver.openInputStream(uri));

ivCardBack.setImageBitmap(bitmap);

}

} catch (FileNotFoundException e) {

e.printStackTrace();

}

}

}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程小技巧。

总结

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。

小编个人微信号 jb51ccc

喜欢与人分享编程技术与工作经验,欢迎加入编程之家官方交流群!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。