首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Android从按钮打开摄像头

Android从按钮打开摄像头
EN

Stack Overflow用户
提问于 2012-12-21 01:16:15
回答 11查看 145.6K关注 0票数 36

我希望这不是一个重复的问题,但我正在制作一个应用程序,我想要一个按钮来打开相机应用程序(默认的android相机单独)。我是怎么做到的呢?我知道有一个函数:

intent.setAction(MediaStore.ACTION_IMAGE_CAPTURE)

我需要用那个吗?如何从xml文件中调用按钮?

另外,我需要担心图片或视频的存储,还是默认的相机应用程序会解决这个问题?

EN

回答 11

Stack Overflow用户

回答已采纳

发布于 2012-12-21 01:40:48

要调用摄像头,您可以使用:

Intent intent = new Intent("android.media.action.IMAGE_CAPTURE");
startActivity(intent);

图像将自动保存在默认目录中。

需要在您的AndroidManifest.xml中设置摄像头的权限:

<uses-permission android:name="android.permission.CAMERA"> </uses-permission>
票数 59
EN

Stack Overflow用户

发布于 2014-12-29 15:31:55

 Button b = (Button)findViewById(R.id.Button01);

    b.setOnClickListener(new OnClickListener() {
        public void onClick(View v) {
             Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
             startActivityForResult(cameraIntent, CAMERA_PIC_REQUEST);
        }
    });
}

protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (requestCode == CAMERA_PIC_REQUEST) {
          Bitmap image = (Bitmap) data.getExtras().get("data");
          ImageView imageview = (ImageView) findViewById(R.id.ImageView01); //sets imageview as the bitmap
          imageview.setImageBitmap(image);
    }
}
票数 40
EN

Stack Overflow用户

发布于 2012-12-21 01:33:53

您可以创建一个相机intent,并将其称为startActivityForResult(intent)。

Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);

   // start the image capture Intent
startActivityForResult(intent, CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE);
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13977245

复制
相关文章

相似问题

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