C'era una domanda simile ma è andato irrisolto:W/CameraBase: verificato un errore durante la connessione alla macchina: 0
W/CameraBase﹕ An error occurred while connecting to camera: 0 on camera.open() call
Ho un app che (naturalmente) utilizza la fotocamera. Sta funzionando bene. Tuttavia, senza modifiche al codice, tra le build, l'app si è arrestata in modo anomalo (non è stato verificato alcun cambiamento di codice tramite la cronologia dei commit di Git).
Per verificare ulteriormente che il problema sia da qualche parte nell'hardware, ho eseguito lo stesso codice su un altro telefono e funziona perfettamente. In qualche modo la fotocamera è bloccata e non si apre.
Ecco il codice rilevante:
Creare un oggetto previe
_cameraPreview = new CameraPreview(getActivity(),_camera);
Questo è il codice di creazione per esso
public CameraPreview(Context context, Camera camera)
{
super(context);
_camera = camera;
_surfaceHolder = getHolder();
_surfaceHolder.addCallback(this);
}
Apertura della fotocamera:
// Apre fotocamera frontale rivolta di default
public static Camera getCameraInstance()
{
Camera c = null;
try
{
c = Camera.open();
}catch (Exception e)
{
e.printStackTrace();
}
return c;
}
Questo è dove si verifica l'errore, camera.Open genera l'errore con la seguente traccia dello stack. Il mio oggetto camera è nullo. Questo codice proviene dai documenti ufficiali di Android ma non parla di come "rilasciare la videocamera" se è bloccata dall'esterno della sessione.
Il registro completo fuori è
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)
può consigliare come posso 'sbloccare' un rinchiuso macchina fotografica come questo?
Per me questo era il caso quando si cercava di eseguire un'app di esempio. Non ha mai chiesto il permesso e la vista della telecamera non ha funzionato. Vai su ** impostazioni> app> yourappname> permessi ** e attiva l'autorizzazione della videocamera. – Niels