2013-12-18 4 views
11

android opencv Proben und Tutorials liefen gut und plötzlich eines Tages bekomme ich das für all diese "Es scheint, dass Ihr Gerät keine Kamera (oder es wird, wird .Application gesperrt) geschlossen“bitte helfen, wieEs scheint, dass Ihr Gerät keine Kamera unterstützt (oder es ist gesperrt)

zu beheben

ich opencv und wieder importiert und neu gemacht Emulatoren aber das Problem weiterhin besteht

+2

Schalten Sie das Gerät aus und starten Sie es neu. Versuchen Sie erneut, opencv erneut zu installieren. –

+0

werfen Sie einen Blick auf diese: http://answers.opencv.org/question/1574/camera-not-working – Mahm00d

+0

Ich hatte das gleiche Problem zu treffen, und es mit dem folgenden Weg gelöst. Siehe http://StackOverflow.com/a/42661642/5850039 – Tugou

Antwort

16

Überprüfen Sie die Kamera Erlaubnis in AndroidManifest.xml neu installiert haben.

<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"/> 

Sein für mich arbeiten ..

2

hatte nur dieses Problem, und ich löste es durch andere Anwendungen zu töten, der die Kamera verwendet haben. Ich hatte einige vorherige Tutorials, die immer noch im Hintergrund liefen.

0

Die Beispiele sollten funktionieren, weil sie die JavaCamera verwenden. Ich habe dieses Problem, als ich versuchte, das Native zu verwenden. Es scheint, dass der Eingeborene nicht für jedes Telefon arbeitet. siehe this.

Ich muss hinzufügen, dass in einigen Geräten die OpenCV native Kamera überhaupt nicht funktioniert, bug 2359.

+0

Ich sah ein ähnliches Problem beim Ausführen auf Emulator, und die Lösung war: Go Emulator, 'Einstellungen-> Apps-> my_app-> Berechtigungen' und aktivieren Sie dann" Kamera". Ich habe festgestellt, dass es angefordert, aber nicht aktiviert ist. – khkarens

22

Gehen Sie zu Ihren Geräteeinstellungen -> Anwendungen -> IHRE APP -> Berechtigungen -> einschalten Kamera Erlaubnis ..

für mich gearbeitet ..

+0

Das musste ich tun. Nicht sicher, warum die Genehmigung nicht erteilt wurde. – AutonomousApps

+1

@AutonomousApps, Weil Sie eine API verwenden/Build Tools> 23 – orimen

+0

Arbeitete für mich, aber die Berechtigungen des Benutzers wie in Geraldo Antwort sollte besser sein. – WillC

6

Vom Android Docs:

Ab Android 6.0 (API-Stufe 23) erteilen Benutzer Berechtigungen für Apps, während die App ausgeführt wird, nicht wenn sie die App installieren.

Es bedeutet, dass auf Android 23 oder höher neben dem Manifest auch die Berechtigung zur Laufzeit angefordert werden muss. In diesem Fall, Kamerazugriff.

Um dies zu tun, können Sie den Code unten verwenden:

// 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); 
     } 
    } 
} 

Sie können auch die Anforderungsantwort behandeln, wie auf der docs beschrieben.

Hoffe es hilft!

Verwandte Themen