我正在尝试用安卓编写一个自定义相机应用程序。为此,我需要打开相机应用程序。
为此,我正在执行以下代码..
相机相机 = 相机.打开();
但显示错误,例如
方法打开 未定义 对于类型相机
我按照这里的建议做了 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>
如果以上都不起作用:检查您是否手动请求相机权限。较新的 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); }