您的设备似乎不支持相机(或已锁定)

SBM*_*SBM 19 java android opencv android-camera

android opencv示例和教程运行正常,突然有一天我得到了所有这些"看来你的设备不支持相机(或它被锁定).应用程序将被关闭"请帮助如何解决

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

小智 33

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

为我工作..


Jit*_*iya 19

检查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"/>
Run Code Online (Sandbox Code Playgroud)

它为我工作..


Ger*_*eto 10

来自Android文档:

从Android 6.0(API级别23)开始,用户在应用程序运行时向应用程序授予权限,而不是在安装应用程序时.

这意味着在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);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

您还可以处理请求响应,如文档中所述.

希望能帮助到你!