Android 调用系统摄像头
原创
©著作权归作者所有:来自51CTO博客作者mb63e0703549da8的原创作品,请联系作者获取转载授权,否则将追究法律责任
在开发android 应用的时候我们经常需要用到摄像头来进行拍照或者是录制视频,这里介绍一种最简单的方法:调用系统摄像头来拍照,并将照片保存起来
启动摄像头的方法:
startActivityForResult(new Intent("android.media.action.IMAGE_CAPTURE"), TAKE_PICTURE);
拍摄成功后接收参数的接收方法我们只需要重写
protected void onActivityResult(int requestCode, int resultCode, Intent data)方法即可
如:
final int TAKE_PICTURE = 1;
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == TAKE_PICTURE) {
if (resultCode == RESULT_OK) {
Bitmap bm = (Bitmap) data.getExtras().get("data");
imgPhoto.setImageBitmap(bm);
sdCardExit = Environment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED);
if (sdCardExit) {
myRecAudioDir = new File(Environment.getExternalStorageDirectory().getAbsolutePath()+ "/custom_picture");
if (!myRecAudioDir.exists()) {
myRecAudioDir.mkdir();
}
} else {
mMakeTextToast("", true);
}
try {
File f = File.createTempFile(strTempFile, ".jpg",myRecAudioDir);
BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(f));
photoPath=f.getPath();
bm.compress(Bitmap.CompressFormat.JPEG, 80, bos);
bos.flush();
bos.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}