【问题标题】:Camera.open() is not working androidCamera.open() 无法正常工作
【发布时间】:2019-12-09 17:54:55
【问题描述】:

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

为此,我正在尝试以下代码..

相机相机 = Camera.open();

但显示错误,如

为类型相机打开未定义的方法

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

任何建议..

谢谢, 拉文德拉古普塔

【问题讨论】:

    标签: camera android


    【解决方案1】:

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

    你需要android.hardware.Camera

    谢谢

    【讨论】:

    • 谢谢我把 import android.hardware.Camera 和它之后工作。
    【解决方案2】:

    我认为您没有添加相机权限。见下文 - 您需要在清单中添加它;

    <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" />
    

    【讨论】:

      【解决方案3】:

      检查您的进口。我遇到了类似的问题,Eclipse 为我选择的相机对象是:import android.graphics.Camera; 而应该是:import android.hardware.Camera;

      【讨论】:

        【解决方案4】:

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

        【讨论】:

          【解决方案5】:

          请创建一个这样的变量:

          android.hardware.Camera camera ;
          

          然后尝试打开方法:

          camera = camera.open();
          

          // 这是在我的 android studio 上工作的

          【讨论】:

            【解决方案6】:

            我遇到了同样的问题,直到我发现旧版本的 android 可以正常工作,直到 Android Marshmallow 所以它需要运行时权限才能继续并显示相机...... 你可以在这个链接中阅读它https://developer.android.com/training/permissions/requesting.html

            对我来说,我使用第 3 方库通过此链接为我完成所有这些工作,并且全部解决了 .. https://android-arsenal.com/details/1/2804 希望对你有帮助

            【讨论】:

            • 你能扩展你的答案吗?链接本身不是一个好的答案。
            • 在旧的 android 版本中,您可以在清单中添加相机权限然后它可以工作......现在您必须在运行时请求权限并为用户显示对话,然后您可以执行相机相机= 相机.open();在覆盖方法 onActivityResult 中。那么它会完美地工作
            【解决方案7】:

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

            【讨论】:

              猜你喜欢
              • 2016-12-01
              • 1970-01-01
              • 2016-09-01
              • 2012-07-11
              • 2018-04-08
              • 2017-04-20
              • 2018-10-02
              • 2016-09-04
              • 2010-10-06
              相关资源
              最近更新 更多