启动相机以捕获图片并在按钮单击后在库中捕获图像并存储图像

时间:2012-10-13 06:25:04

标签: android android-camera image-gallery

我正在开发Android应用程序。我有一个活动,其中有两个按钮第一个用于从gallary选择图像。我已经应用了它的功能。我有一个按钮捕获图像。我想要工作。但不知道如何启动相机。我希望当我点击按钮捕获图像时,它应该启动相机捕获图像。如果不想拍照,应该有取消选项。按下取消后相机应该取消。 如果我捕获图像它应该在图像视图中显示并自动存储在SD卡中。我应该继续。

1 个答案:

答案 0 :(得分: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;
    }
  }
}