java - 有意图地启动前置摄像头
问题描述
我正在尝试用 直接打开前置摄像头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) 上运行。
这是三星的某种错误还是我的代码有问题。
解决方案
我正在尝试使用 Intent 直接打开前置摄像头
Android SDK 中没有任何内容。
下面是我的代码
有数百甚至数千种适用于 Android 的不同相机应用程序。有些是预装的;有些是用户安装的。没有人必须尊重那些无证的Intent
临时演员。
此代码不适用于 S6(7.0)。但是它正在 S5、S4、Nexus 6P(8.0) 上运行。
有约 20,000 多种 Android 设备型号。只有一些人可能有一个预装的相机应用程序来尊重那些无证的Intent
附加功能。
这是三星的某种错误还是我的代码有问题。
三星针对该特定设备的相机应用程序根本不尊重那些无证的附加功能。
推荐阅读
- ios - 如何在 iOS 上查找/访问通过我的应用程序生成的 PDF 文件?
- procedure - Snowflake - First Proc - 语法有什么问题
- php - 在 PHP 中过滤 CSV 文件,如 SQL
- python - python将浮点输入字段转换为正确分隔的数字列表
- javascript - 真的不可能在自己的范围之外使用 Promise 的解析值吗?
- java - 如何将 Int/String Array 变成带节点的二叉树?
- reactjs - 在路由参数更改时重新渲染相同的组件(react-router-dom)
- linux - “./cosmomc: Relink” `/intel/xlibirc.so' 与 `/lib/libc.so.6' 用于 IFUNC 符号 `memmove' 分段错误(核心转储)
- kubernetes-helm - 在 helm 的 values.yaml 中使用 Release.Name
- testng - TestNG 套件失败