Camera.open()不能正常工作

时间:2013-12-20 11:58:31

标签: camera android

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

为此我要遵循以下代码..

  

相机相机= Camera.open();

但显示错误,如

  

方法打开未定义类型Camera

我按照http://developer.android.com/reference/android/hardware/Camera.html#open(int)

的建议做了

任何建议..

谢谢, 拉文德拉古普塔

7 个答案:

答案 0 :(得分:17)

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

您需要android.hardware.Camera

由于

答案 1 :(得分: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" />

答案 2 :(得分:2)

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

答案 3 :(得分:1)

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

答案 4 :(得分:1)

请创建一个这样的变量:

android.hardware.Camera camera ;

然后尝试打开方法:

camera = camera.open();

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

答案 5 :(得分:0)

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

中阅读相关内容

对我来说,我使用第三方库从这个链接为我做所有这些东西,所有解决.. https://android-arsenal.com/details/1/2804 希望它有所帮助

答案 6 :(得分:0)

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