2014-05-05 11 views
7

Wystąpił błąd "Błąd 5001" w aparacie podczas ładowania obiektu Aparat w mojej aplikacji na Androida.Błąd aparatu Android 5001

E/Camera: Error 5001 

Nie mogę nawet wyjść z aplikacji przyciskiem "dom", to zawiesza się na 90 sekund. Nie mogę znaleźć żadnej dokumentacji dotyczącej tego błędu.

Co oznacza 5001?

po 90 sekundach, dzienniki logcat:

W/CameraBase: Camera service died! 

Teraz nie mogę uruchomić aplikację normalnie. Ekran jest zielony i nie można załadować aparatu.

Restart ustalona, ​​że ​​problem aparatu, ale chciałbym wiedzieć:

  • co właściwie stało
  • jak uniknąć go

Urządzenie jest Moto X z systemem Android 4.4.2.

Dziękuję za wszelkie informacje.

EDIT

public final class BarcodePreview extends SurfaceView implements SurfaceHolder.Callback { 

    private Activity mActivity; 
    private SurfaceHolder mSurfaceHolder; 
    private Camera mCamera; 
    private PreviewCallback mPreviewCallback; 
    private AutoFocusCallback mAutoFocusCallback; 

    public BarcodePreview(final Activity activity, final Camera camera, final PreviewCallback previewCallback, final AutoFocusCallback autoFocusCallback) throws Exception { 
     super(activity); 

     mActivity = activity; 
     mCamera = camera; 
     mPreviewCallback = previewCallback; 
     mAutoFocusCallback = autoFocusCallback; 

     mSurfaceHolder = getHolder(); 
     if (mSurfaceHolder == null) { 
      // ... 
     } 

     mSurfaceHolder.addCallback(this); 
    } 

    @Override 
    public void surfaceCreated(final SurfaceHolder surfaceHolder) { 
     try { 
      mCamera.setPreviewDisplay(surfaceHolder); 
     } 
     catch (Exception e) { 
      // ... 
     } 
    } 

    @Override 
    public void surfaceDestroyed(final SurfaceHolder surfaceHolder) { 
      // ... 
    } 

    @Override 
    public void surfaceChanged(final SurfaceHolder surfaceHolder, final int format, final int width, final int height) { 
     if (mSurfaceHolder.getSurface() == null) { 
      // ... 
      return ; 
     } 

     try { 
      mCamera.stopPreview(); 
      // ... 
      mCamera.setPreviewDisplay(mSurfaceHolder); 
      mCamera.setPreviewCallback(mPreviewCallback); 
      mCamera.startPreview(); 
      mCamera.autoFocus(mAutoFocusCallback); 
     } 
     catch (Exception e) { 
      // ... 
     } 
    } 
} 
+0

Przełączałem się między aparatem w mojej aktywności i myślę, że musiałem wywołać 'release()' pomiędzy następującymi po sobie 'stopPreview()' i 'startPreview()'. – shkschneider

+0

Nop, który powoduje 'AndroidRuntime: FATAL EXCEPTION: main' na niektórych urządzeniach. – shkschneider

+0

Widziałem to też, to samo urządzenie i wersja Androida. Naprawiono go, wywołując 'mCamera.setPreviewDisplay' przed' mCamera.startPreview' –

Odpowiedz

1

Jak już wspomniano, ten błąd występuje tylko wydaje się na Moto X i wydaje się być specyficzny dla niektórych przypadków użycia.

To się zdarza od czasu do czasu na tym urządzeniu z systemem Android 4.4.2.

Dla mnie jest to po prostu specyficzny/zbyt zlokalizowany błąd.

Zamknięte.

Powiązane problemy