2011-03-25 138 views
0

我正在尝试进行Android演示。在演示中,我必须在相机中显示相机并拍摄照片,然后才能进入另一项活动,在该活动中,我可以通过照片和一个小菜单查看相机。如何启动相机并拍摄照片

如何启动相机并拍照?

回答

6

在我的应用我用下面的代码来启动相机:

public void imageFromCamera() { 
    Intent intent = new Intent("android.media.action.IMAGE_CAPTURE"); 
    mImageFile = new File(Environment.getExternalStorageDirectory()+File.separator+"MyApp", 
      "PIC"+System.currentTimeMillis()+".jpg"); 
    mSelectedImagePath = mImageFile.getAbsolutePath(); 
    intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(mImageFile)); 
    startActivityForResult(intent, TAKE_PICTURE); 
} 

这将图像保存到路径mSelectedImagePath这是/sdcard/MyApp/.jpg。

然后,您捕获onActivityResult中IMAGE_CAPTURE意图的返回并启动您的活动以从此编辑图像!

public void onActivityResult(int requestCode, int resultCode, Intent data) { 
    super.onActivityResult(requestCode, resultCode, data); 
    if (resultCode == RESULT_OK) { 
     switch(requestCode) { 
     case TAKE_PICTURE: 
        //Launch ImageEdit Activity 
      Intent i = new Intent(this, ImageEdit.class); 
        i.putString("imgPath", "mSelectedImagePath"); 
        startActivity(i); 
      break; 
     } 
    } 
} 

希望这有助于!

0

下面是代码示例。

Uri mOutputFileUri; 
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); 
intent.putExtra(MediaStore.EXTRA_OUTPUT, mOutputFileUri); // URI of the file where pic will be stored 

startActivityForResult(intent, TAKE_PICTURE_FROM_CAMERA); 

然后在你的onActivityResult中检查resultCode并从mOutputFileUri中获取你的图像。

您还需要检查外部媒体存在并处理HTC设备的相机应用程序行为问题。

相关问题