使用ACTION_IMAGE_CAPTURE以较低分辨率打开Android相机

时间:2011-10-27 08:16:09

标签: android android-intent android-camera

我正在使用这样的意图打开Android相机:

    Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);

    cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, mCapturedImageURI);  
    startActivityForResult(cameraIntent, CAMERA_PIC_REQUEST);

但相机总是打开6mp分辨率(我认为它的设备最大相机分辨率)我想打开它像2mp的低分辨率。无论如何都要这样做

感谢您的任何建议。

2 个答案:

答案 0 :(得分:9)

不幸的是,你无法做到这一点。一旦推出了不同的应用程序,该应用程序的设置只能由用户使用该应用程序进行更改。

允许其他应用更改应用的设置会是灾难性的。

所以你现在有两个选择 -

  • 构建您自己的相机活动并以您想要的分辨率拍摄照片
  • 告诉用户仅以您指定的分辨率拍摄照片,基本上要求用户在拍照前将相机分辨率更改为相机应用程序所需的分辨率。

答案 1 :(得分:3)

此选项仅适用于视频捕获,使用此行

intent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 1); // high quality
startActivityForResult()

我们的 disasapoitment " MediaStore" 不要 EXTRA_IMAGE_QUALITY 的参数