Инициируйте намерение камеры с помощью значка галереи

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

mCameraButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            mCameraUri = getContentResolver().insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, new ContentValues());
            Intent cameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
            cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, mCameraUri);
            mtimeCameraAcessed = System.currentTimeMillis();
            startActivityForResult(cameraIntent, RECEIVE_CAMERA_PICTURE);
            overridePendingTransition(R.anim.slide_in_right, R.anim.slide_out_left);

        }

});

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

Я хочу, чтобы пользователь имел доступ к камере и мог изменить свое мнение, а затем получил доступ к галерее на том же экране (нажав значок галереи). Теперь я знаю, как инициировать намерение галереи через Intent.ACTION_PICK. Я также рассмотрел этот вопрос, но я не полностью согласен с тем, что мне нужна настраиваемая компоновка камеры для достижения того, что я собираюсь сделать: Единое намерение позволить пользователю сделать снимок ИЛИ выбрать изображение из галереи в Android

Я говорю это потому, что я видел такие приложения, как QuickPic, которые обращаются к приложению камеры с помощью значка галереи внизу. Кто-нибудь может пролить свет на это?

камера со значком галереи

камера без значка галереи


person Abhijit    schedule 19.01.2012    source источник


Ответы (1)


Пройдя тщательное исследование, я пришел к выводу, что это на самом деле невозможно. Однако пользовательский макет в сочетании с API камеры был бы идеальным решением, если требуется что-то подобное. Но затем я заметил, что при использовании API камеры возникают определенные проблемы, такие как искаженный внешний вид экрана камеры.

QuickPic переносит пользователя на экран камеры (со значком галереи), но при этом удаляет его / ее из приложения. В этот момент пользователь в основном использует приложение стандартной камеры на Android, а не само приложение Quickpic.

person Abhijit    schedule 24.01.2012