首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何启动相机并拍照

如何启动相机并拍照
EN

Stack Overflow用户
提问于 2011-03-25 17:17:46
回答 3查看 3.2K关注 0票数 0

我正在试着做一个Android的演示。在演示中,我必须在一个活动中展示相机并拍照,然后才能进入另一个活动,在那里我可以看到相机与图片和一个小菜单。

如何启动相机并拍照?

EN

回答 3

Stack Overflow用户

发布于 2011-03-25 17:29:08

在我的应用程序中,我使用以下代码来启动摄像头:

代码语言:javascript
复制
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意图的返回,并启动您的活动以从那里编辑图像!

代码语言:javascript
复制
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;
        }
    }
}

希望这能有所帮助!

票数 6
EN

Stack Overflow用户

发布于 2011-03-25 17:31:30

有相当多的在线教程,这里有几个例子:

Tutorial 1 Tutorial 2 Tutorial 3

票数 1
EN

Stack Overflow用户

发布于 2011-03-25 17:36:11

以下是代码示例。

代码语言:javascript
复制
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设备的摄像头应用程序行为问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5430527

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档