Ein Fehler ist aufgetreten beim herstellen der Verbindung zur Kamera: 0 — keine Verbindung zur Kamera service
Ich habe ein Handy-spezifisches problem, wenn ich eine Kamera auf diesem bestimmten Nexus 5. Seine An error occurred while connecting to camera: 0 --- Fail to connect to camera service
Fehler. Auf mindestens einem Dutzend anderen Telefonen funktioniert alles einwandfrei. Andere apps, die die Kamera auf dem Nexus 5 nicht abstürzt (was nicht alle seine apps, die keinen Zugriff auf die Kamera, gerade von mir).
Gibt es eine Reihe von anderen Fragen und ich habe versucht, alle von Ihnen. Sie alle sprechen über fehlende Berechtigungen, und sicherstellen, dass die Kamera zerstört wird, ist nach Gebrauch.
Klar sein, mein manifest-Anforderungen und verwendet die Kamera-richtig:
<uses-permission android:name="android.permission.CAMERA" />
<uses-feature android:name="android.hardware.camera" />
<uses-feature android:name="android.hardware.camera2" />
Und ich bin loslassen der Kamera beim zerstören:
public void releaseCamera()
{
if (_camera != null)
{
_camera.stopPreview();
_camera.setPreviewCallback(null);
_camera.release();
_camera = null;
}
_surfaceHolder.removeCallback(this);
}
Können Sie aus irgendeinem Grund denken, was-so-ever, die ich bekomme. Ich habe den Verdacht, dass es irgendeine Art von Fehler, denn ich bin mit der Kamera und nicht Kamera2, aber das ist ein wild guess. Lesen Sie die updates für API 6.0 es ist ein Abschnitt auf der Kamera, der sagt:
In Dieser Version ist das Modell für den Zugriff auf freigegebene Ressourcen in der
Kamera-service wurde geändert und vom bisherigen “first come, first
serve" - Modell für den Zugriff auf eine access-Modell, bei dem high-priority-Verfahren
favorisierte.
Wieder ohne erneute schreiben der gesamten app zu verwenden Kamera2 (keine option) ich kann nicht genau sagen, was Los ist.
Hier ist mein code wo ich die Kamera (und was funktioniert auf jedem anderen Handy außer dem Nexus 5)
private void setInitialCamera()
{
try
{
if (_isBackFacing == true)
{
_camera = Camera.open(0);
} else
{
_camera = Camera.open(1);
}
} catch (RuntimeException e)
{
Log.d("Runtime Exception","Error " + e);
e.printStackTrace();
} catch (Exception e)
{
Log.d("Camera Error: ", " Android is unable tell what the error was");
e.printStackTrace();
}
}
Du musst angemeldet sein, um einen Kommentar abzugeben.
So wie es aussieht der übeltäter hat etwas zu tun mit dem 6.0.1 update das Handy ging durch.
Während dies geschah nicht auf anderen Handys, es hat auf die fehlerhafte Nexus 5.
Was geschah, war das 6.0.1 update können Benutzer individuelle Berechtigungen für eine app. Also irgendwie die persmission für die Kamera waren abgeschaltet. Drehen Sie diesen wieder auf das Problem beseitigt haben.
Bekommen dort gehen Sie zu
Settings -> Apps -> [App Name] -> Permissions
Machen Benutzer zum festlegen von Berechtigungen manuell für die app ist kein guter Ansatz. Verwenden Sie folgenden code, statt, die wil Eingabeaufforderung für Benutzer-Berechtigung verfügen, wenn die app gestartet wird für die erste Zeit.
Zuerst stellen Sie Ihren Wunsch-code, der verwendet wird, um zu erkennen, akzeptiert oder abgelehnt Antrag:
private static final int MY_CAMERA_REQUEST_CODE = 100;
Dann bitten Sie den Benutzer, wenn mit der Kamera können Sie:
Schließlich prüfen, ob die Berechtigungen erteilt wurden: