Запустить фронтальную камеру с намерением - PullRequest
0 голосов
/ 03 сентября 2018

Я пытаюсь открыть фронтальную камеру напрямую с помощью Intent. Ниже мой код -

Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP_MR1) {
            intent.putExtra("android.intent.extras.CAMERA_FACING", android.hardware.Camera.CameraInfo.CAMERA_FACING_FRONT);

            intent.putExtra("android.intent.extras.LENS_FACING_FRONT", 1);
            intent.putExtra("android.intent.extra.USE_FRONT_CAMERA", true);
        }

Мой файл манифеста: -

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="some.package">
    <uses-permission android:name="android.permission.INTERNET" />
    <!--
         The ACCESS_COARSE/FINE_LOCATION permissions are not required to use
         Google Maps Android API v2, but you must specify either coarse or fine
         location permissions for the 'MyLocation' functionality. 
    -->
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.CAMERA" />
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
    <uses-feature android:name="android.hardware.camera" android:required="false" />
    <uses-feature android:name="android.hardware.camera.front" android:required="false" />

Этот код не работает на S6 (7.0). Однако он работает на S5, S4, Nexus 6P (8.0).

Так это какая-то ошибка Samsung или что-то не так в моем коде.

Я нашел несколько похожих вопросов, таких как this и this . Но не полезно в моем случае.

1 Ответ

0 голосов
/ 03 сентября 2018

Я пытаюсь открыть фронтальную камеру с помощью Intent

В Android SDK для этого нет ничего.

Ниже мой код

Для Android доступны сотни, возможно, тысячи различных приложений для камер. Некоторые из них предварительно установлены; некоторые из них установлены пользователем. Никто не должен соблюдать эти незарегистрированные Intent дополнения.

Этот код не работает на S6 (7.0). Однако он работает на S5, S4, Nexus 6P (8.0).

Существует около 20 000 + моделей устройств Android. Только у некоторых может быть предустановленное приложение для камеры, которое поддерживает эти незарегистрированные дополнения Intent.

Так это какая-то ошибка Samsung или что-то не так в моем коде.

Приложение камеры Samsung для данного устройства просто не учитывает эти недокументированные дополнения.

...