如何跳过机器人CAMERA_ACTIVITY创建的活动?

时间:2018-04-26 03:33:38

标签: android image android-capture

我使用androids默认相机捕获,然后使用裁剪库拍摄照片,然后将其裁剪为正方形以显示在下一个布局上,存储在设备上的图片以及在数据库上创建的记录。

      Intent camera_intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
            camera_intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(image_file));
            startActivityForResult(camera_intent, CAM_REQUEST);

  @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {

 if(requestCode==2 || requestCode == 6709) {
            if (resultCode == RESULT_CANCELED) {
            } else if (resultCode == RESULT_OK) {

                //Crop.pickImage(this);
                if (requestCode == Crop.REQUEST_CROP && resultCode == RESULT_OK) {
                    //doSomethingWithCroppedImage(outputUri);

                    setResult(resultCode);

 } else {
                    File cropme = new File(tempPicture[4]);
                    if (Build.VERSION.SDK_INT >= 24) {
                        try {
                            Method m = StrictMode.class.getMethod("disableDeathOnFileUriExposure");
                            m.invoke(null);
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                    }

                    new Crop(Uri.fromFile(cropme)).output(Uri.fromFile(cropme)).asSquare().start(this);
                }
            }
        }

问题是如下所示有一个图片确认页面是多余的,如果我能够将其删除,将为用户节省大量时间。

The process from left to right

如何编辑默认的相机捕捉活动或在线使用其他相机模板?

我希望让流程尽可能高效,所以如果有更好的方法,请告诉我。

1 个答案:

答案 0 :(得分:2)

  

问题是如下所示有一个图片确认页面是多余的,如果我能够将其删除,将为用户节省大量时间。

请勿使用ACTION_IMAGE_CAPTURE。直接使用相机API(例如android.hardware.Cameraandroid.hardware.camera2.*)或通过包装它们的库(例如,CameraKit-Android,Fotoapparat)。

  

如何编辑默认的相机捕捉活动

有大约10,000个Android设备型号。它们带有数十种(如果不是数百种)不同的相机应用程序。另外,用户自己安装。其中任何一个都可以回复ACTION_IMAGE_CAPTURE。是否有任何确认屏幕取决于这些应用程序的开发人员,而不是您。如果您想完全控制相机体验,请不要将拍照委托给ACTION_IMAGE_CAPTURE,而是编写自己的相机代码。