Es gab eine ähnliche Frage, aber es ging ungelöst:W/CameraBase: Ein Fehler ist aufgetreten, während zur Kamera anschließen: 0
W/CameraBase﹕ An error occurred while connecting to camera: 0 on camera.open() call
ich eine App haben, die (natürlich) die Kamera verwendet. Es hat gut funktioniert. Aber ohne Code-Änderungen, zwischen den Builds, stürzte die App ab (verifizierte keine Code-Änderungen über den Git-Commit-Verlauf).
Um das Problem zu überprüfen ist irgendwo in der Hardware, lief ich den gleichen Code auf einem anderen Telefon und es funktioniert gut. Irgendwie ist die Kamera gesperrt und kann nicht geöffnet werden.
ist hier der entsprechende Code:
ein Objekt previe erstellen
_cameraPreview = new CameraPreview(getActivity(),_camera);
Dies ist der Code-Erstellung für sie
public CameraPreview(Context context, Camera camera)
{
super(context);
_camera = camera;
_surfaceHolder = getHolder();
_surfaceHolder.addCallback(this);
}
Öffnen der Kamera:
// Öffnet Blick in die Kamera standardmäßig zurück
Diesepublic static Camera getCameraInstance()
{
Camera c = null;
try
{
c = Camera.open();
}catch (Exception e)
{
e.printStackTrace();
}
return c;
}
ist, wo der Fehler auftritt, camera.Open führt den Fehler mit dem folgenden Stack-Trace. Mein Kameraobjekt ist null. Dieser Code stammt von den offiziellen Android-Dokumenten, aber sie sprechen nicht darüber, wie die Kamera freigegeben wird, wenn sie außerhalb der Sitzung gesperrt ist.
Der vollständige Abmelde ist
W/CameraBase﹕ An error occurred while connecting to camera: 0
W/System.err﹕ java.lang.RuntimeException: Fail to connect to camera service
W/System.err﹕ at android.hardware.Camera.<init>(Camera.java:497)
W/System.err﹕ at android.hardware.Camera.open(Camera.java:357)
W/System.err﹕ at co.pumpup.app.EditPhotoFragment.getCameraInstance(EditPhotoFragment.java:241)
W/System.err﹕ at co.pumpup.app.EditPhotoFragment.onCreateView(EditPhotoFragment.java:76)
W/System.err﹕ at android.app.Fragment.performCreateView(Fragment.java:2053)
W/System.err﹕ at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:894)
W/System.err﹕ at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1067)
W/System.err﹕ at android.app.BackStackRecord.run(BackStackRecord.java:834)
W/System.err﹕ at android.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1452)
W/System.err﹕ at android.app.Activity.performStart(Activity.java:6005)
W/System.err﹕ at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2288)
W/System.err﹕ at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2387)
W/System.err﹕ at android.app.ActivityThread.access$800(ActivityThread.java:151)
W/System.err﹕ at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1303)
W/System.err﹕ at android.os.Handler.dispatchMessage(Handler.java:102)
W/System.err﹕ at android.os.Looper.loop(Looper.java:135)
W/System.err﹕ at android.app.ActivityThread.main(ActivityThread.java:5254)
W/System.err﹕ at java.lang.reflect.Method.invoke(Native Method)
W/System.err﹕ at java.lang.reflect.Method.invoke(Method.java:372)
W/System.err﹕ at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
W/System.err﹕ at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)
Können Sie raten, wie ich kann ‚Unlock‘ eine Kamera wie diese einsperren?
Für mich war dies der Fall, wenn Sie versuchen, eine Beispielanwendung auszuführen. Es hat nie um Erlaubnis gefragt, und die Kameraansicht hat nicht funktioniert. Gehe zu ** Einstellungen> Apps> Benutzername> Berechtigungen ** und aktiviere die Kameraberechtigung. – Niels