有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java您的设备似乎不支持摄像头(或已锁定)

Android opencv样本和教程运行良好,突然有一天我得到了所有这些:
"It seems that your device does not support camera (or it is locked). The application will be closed"
请帮帮我,我怎样才能修好它

我重新安装了opencv,再次导入,并制作了新的模拟器,但问题仍然存在


共 (6) 个答案

  1. # 1 楼答案

    我刚刚遇到了这个问题,我通过杀掉所有使用相机的应用程序解决了这个问题。我以前的一些教程还在后台运行

  2. # 2 楼答案

    就我而言,问题是
    我的应用程序在另一个活动中使用Android Camera
    另一个活动是在销毁(锁定)后释放Camera,而不是释放它 在我释放另一个活动上的Camera之后,这个对话框将不再显示

    所以一般来说要解决这个问题

    1. 检查摄像机权限
    2. 检查摄像头是否未锁定(在任何其他活动中使用后将其释放)
  3. # 3 楼答案

    Android Docs开始:

    Beginning in Android 6.0 (API level 23), users grant permissions to apps while the app is running, not when they install the app.

    这意味着在Android 23或更高版本上,除了清单之外,还需要请求运行时的权限。在这种情况下,相机访问

    为此,您可以使用以下代码:

    // First check android version 
    if (MyVersion > Build.VERSION_CODES.LOLLIPOP_MR1) {
    //Check if permission is already granted
    //thisActivity is your activity. (e.g.: MainActivity.this)
        if (ContextCompat.checkSelfPermission(thisActivity,
                        Manifest.permission.CAMERA)
                != PackageManager.PERMISSION_GRANTED) {
    
            // Give first an explanation, if needed.
            if (ActivityCompat.shouldShowRequestPermissionRationale(thisActivity,
                    Manifest.permission.CAMERA)) {
    
                // Show an explanation to the user *asynchronously* -- don't block
                // this thread waiting for the user's response! After the user
                // sees the explanation, try again to request the permission.
    
            } else {
    
                // No explanation needed, we can request the permission.
    
                ActivityCompat.requestPermissions(thisActivity,
                        new String[]{Manifest.permission.CAMERA},
                        1);
            }
        }
    }
    

    您还可以处理请求-响应,如docs上所述

    希望能有帮助

  4. # 4 楼答案

    这些示例应该可以工作,因为它们使用的是JavaCamera。当我尝试使用本地版本时,我遇到了这个问题。似乎本地版本不适用于任何手机。见this

    我必须补充一点,在某些设备中,openCV本机摄像头根本无法工作

  5. # 5 楼答案

    检查AndroidManifest中的相机权限。xml

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

    这对我有用

  6. # 6 楼答案

    转到您的设备设置->;应用程序->;您的应用程序->;权限->;打开相机权限

    为我工作