Camera.open() is not working android



我正在尝试用安卓编写一个自定义相机应用程序。为此,我需要打开相机应用程序。

为此,我正在执行以下代码..

相机

相机 = 相机.打开();

但显示错误,例如

方法打开 未定义 对于类型相机

我按照这里的建议做了 http://developer.android.com/reference/android/hardware/Camera.html#open(int)

任何建议..

谢谢Ravindra Gupta

您很可能在源文件的顶部导入了错误的相机类,即android.graphics.Camera

你需要android.hardware.Camera

谢谢

我认为您尚未添加相机权限。见下文 - 您需要将其添加到清单中;

<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-feature android:name="android.hardware.camera" />
<uses-feature android:name="android.hardware.camera.autofocus" />

检查您的导入。我遇到了类似的问题,Eclipse 为我选择的 Camera 对象是: import android.graphics.Camera; 相反,它应该是: import android.hardware.Camera; <</p>

div class="one_answers">

如果以上都不起作用:检查您是否手动请求相机权限。较新的 Android 权限 (API> 23) 是在运行时设置的,而不是在安装时设置的。参见:https://developer.android.com/training/permissions/requesting.html<</p> div class="one_answers">

请创建一个这样的变量:

android.hardware.Camera camera ;

然后尝试打开方法:

camera = camera.open();

这在我的安卓工作室工作

我遇到了同样的问题,直到我到达旧版本的 android 将正常工作,直到 Android 棉花糖,所以它需要运行时权限才能继续并显示相机......您可以在此链接中阅读有关它的信息 https://developer.android.com/training/permissions/requesting.html

对我来说,我使用了一个 3rd 方库从这个链接为我做所有这些事情,并且都解决了......https://android-arsenal.com/details/1/2804希望它有所帮助

我在使用集成相机本机/camera2 api 时遇到了很多问题。代码很笨重。为了避免复杂性和兼容性问题,谷歌在新的android喷气背包库中提供了新的CameraX api。请参阅谷歌提供的文档 https://developer.android.com/training/camerax。我在 github https://github.com/robertlevonyan/CameraXDemo 上也发现了一个基于 Kotlin 的库。您可以使用更少的代码获得更多清晰度。

向右分配!!需要权限请求。我找到了正确的代码。他工作。我建议您查看本文以初步连接相机:https://habr.com/ru/post/112272/

在此处输入图像描述

if(ContextCompat.checkSelfPermission(MainActivity.this, Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED) {
        ActivityCompat.requestPermissions(MainActivity.this, new String[] {Manifest.permission.CAMERA}, 15); }

最新更新