Android 使用自定义相机分辨率拍摄照片?

Android 使用自定义相机分辨率拍摄照片?,android,camera,photo,Android,Camera,Photo,我正在编写一个应用程序,允许使用默认相机拍照。问题是照片正在发送到服务器,所以我必须减小它们的大小。例如,从3MB到1MB 这是我拍照的方式: public void startCameraActivity() { Intent imageIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE); String timeStamp = new SimpleDateFormat("yyyyMMdd_

我正在编写一个应用程序,允许使用默认相机拍照。问题是照片正在发送到服务器,所以我必须减小它们的大小。例如,从3MB到1MB 这是我拍照的方式:

public void startCameraActivity() {

    Intent imageIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
    String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date());


    File imagesFolder = new File(Environment.getExternalStorageDirectory(), "path");
    imagesFolder.mkdirs();

    //String filePath = "path" + timeStamp + ".jpg" ;
    File image = new File(imagesFolder, "path" + timeStamp + ".jpg");
    Uri uriSavedImage = Uri.fromFile(image);

    nomeFileJpg = "path"+timeStamp+".jpg";
    Log.i(TAG,"Nome del file: "+nomeFileJpg);

    imageIntent.putExtra(MediaStore.EXTRA_OUTPUT, uriSavedImage);
    startActivityForResult(imageIntent, 2);

}

如何添加以减小尺寸?

您可以通过直接告诉Android摄像头来降低分辨率。查看以获取更多信息。为了安全地执行此操作,您可能也会发现它很有用。

我不认为这是可能的,因为我不认为任何内置摄像头应用程序都具有从启动它们的意图获取此类参数的功能。我在开发我的应用程序时遇到了同样的问题。请记住,默认相机应用程序在设备上有所不同,例如,获取拍摄的照片路径时出现问题,或者某些默认相机应用程序无法获取缩略图。因此,我的建议是尝试创建自己的相机应用程序,或使用免费库来调整某些参数

如果您在代码中访问硬件摄像头,这些方法是可用的,@penny89使用内置摄像头应用程序,因此他甚至没有对摄像头对象的引用来自定义它