首页 > 解决方案 > 有意图地启动前置摄像头

问题描述

我正在尝试用 直接打开前置摄像头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) 上运行。

这是三星的某种错误还是我的代码有问题。

我发现了一些类似的问题,例如thisthis。但对我来说没有帮助。

标签: javaandroidandroid-camerasamsung-mobileandroid-camera2

解决方案


我正在尝试使用 Intent 直接打开前置摄像头

Android SDK 中没有任何内容。

下面是我的代码

有数百甚至数千种适用于 Android 的不同相机应用程序。有些是预装的;有些是用户安装的。没有人必须尊重那些无证的Intent临时演员。

此代码不适用于 S6(7.0)。但是它正在 S5、S4、Nexus 6P(8.0) 上运行。

有约 20,000 多种 Android 设备型号。只有一些人可能有一个预装的相机应用程序来尊重那些无证的Intent附加功能。

这是三星的某种错误还是我的代码有问题。

三星针对该特定设备的相机应用程序根本不尊重那些无证的附加功能。


推荐阅读