Как я могу пропустить действие, созданное андроидами CAMERA_ACTIVITY? - PullRequest
0 голосов
/ 26 апреля 2018

Я использую захват камеры по умолчанию для Android, а затем библиотеку кадрирования, чтобы сделать фотографию, затем обрезать ее до квадрата, который будет отображаться на следующем макете, изображение, сохраненное на устройстве, и запись, созданная в базе данных.

      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 голосов
/ 26 апреля 2018

Проблема в том, что ниже показана страница подтверждения изображения, которая является избыточной и сэкономит пользователю много времени, если я смогу ее удалить.

Не использовать ACTION_IMAGE_CAPTURE.Используйте API-интерфейсы камеры напрямую (например, android.hardware.Camera, android.hardware.camera2.*) или через библиотеку, которая их оборачивает (например, CameraKit-Android, Fotoapparat).

Как можно выполнить редактированиезахват камеры по умолчанию

Существует около 10 000 моделей устройств Android.Они поставляются с десятками, если не сотнями, различных приложений для камер.Кроме того, пользователи устанавливают свои собственные.Любой из них может ответить на ACTION_IMAGE_CAPTURE.Независимо от того, есть ли у кого-нибудь экран подтверждения, решать разработчикам этих приложений, а не вам.Если вы хотите полностью контролировать работу камеры, не делегируйте фотосъемку на ACTION_IMAGE_CAPTURE, а напишите свой собственный код камеры.

...