我正在尝试在android中编写自定义相机应用程序。 为此,我需要打开相机应用程序。
为此我要遵循以下代码..
相机相机= Camera.open();
但显示错误,如
方法打开未定义类型Camera
我按照http://developer.android.com/reference/android/hardware/Camera.html#open(int)
的建议做了任何建议..
谢谢, 拉文德拉古普塔
答案 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的库。您可以用更少的代码获得更高的清晰度。