【问题标题】:Start camera for capturing picture and store image after captureing it in gellary on button click启动相机以捕获图片并在单击按钮后将其捕获到凝胶中后存储图像
【发布时间】:2012-10-14 23:48:41
【问题描述】:
我正在开发 android 应用程序。我有一个活动,其中有两个按钮第一个用于从图库中选择图像。我已经在它上面应用了函数。我还有一个按钮捕获图像。我想处理它。但不知道如何启动相机。我希望当我单击按钮捕获图像时它应该启动相机以捕获图像。如果不想拍照,应该有取消的选项。按下取消相机后应该取消。
如果我捕获图像,它应该显示在图像视图中并自动存储在 SD 卡中。我应该如何继续。
【问题讨论】:
标签:
android
android-camera
image-gallery
【解决方案1】:
http://developer.android.com/guide/topics/media/camera.html。关于启动相机你需要知道的一切。通过链接。
private static final int TAKE_PHOTO_CODE = 1;
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(getTempFile(this)) );
startActivityForResult(intent, TAKE_PHOTO_CODE);
get uri
private File getTempFile(Context context){
return new File(path, "/tourpath/yourfilename.jpg");
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode == RESULT_OK) {
switch(requestCode){
case TAKE_PHOTO_CODE:
try {
Bitmap captureBmp = Media.getBitmap(getContentResolver(), Uri.fromFile(file));
iv.setImageBitmap(captureBmp);//show in imageview
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
break;
}
}
}