2015-12-19 3 views
0

создать приложение камеры и Take Picture автофокусировкой:Почему иногда возникает ошибка: java.lang.runtimeexception: takepicture не удалось?

private AutoFocusCallback _pfnAutoFocusCallback = new AutoFocusCallback() { 

    @Override 
    public void onAutoFocus(boolean success, Camera camera) { 
     //camera.autoFocus(null); 
     camera.takePicture(_pfnShutterCallback, _pfnRawPictureCallback, mPicture); 
    } 
}; 

Иногда происходят ошибки и аварии приложение:

java.lang.RuntimeException: takePicture failed 
    at android.hardware.Camera.native_takePicture(Native Method) 
    at android.hardware.Camera.takePicture(Camera.java:1828) 
    at android.hardware.Camera.takePicture(Camera.java:1773) 
    at com.example.CameraTest$2.onAutoFocus(CameraTest.java:1835) 
    at android.hardware.Camera$EventHandler.handleMessage(Camera.java:1273) 
    at android.os.Handler.dispatchMessage(Handler.java:111) 
    at android.os.Looper.loop(Looper.java:194) 
    at android.app.ActivityThread.main(ActivityThread.java:5576) 
    at java.lang.reflect.Method.invoke(Native Method) 
    at java.lang.reflect.Method.invoke(Method.java:372) 
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:956) 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:751) 

Если запуск приложения снова, он может принять изображение работает нормально.

Почему иногда возникают ошибки: java.lang.runtimeexception: takepicture failed?

ответ

0

Вы должны проверить, если автофокус удалось:

private AutoFocusCallback _pfnAutoFocusCallback = new AutoFocusCallback() { 

    @Override 
    public void onAutoFocus(boolean success, Camera camera) { 
     if(success){ 
     camera.takePicture(_pfnShutterCallback, _pfnRawPictureCallback, mPicture); 
     } 
    } 
}; 
Смежные вопросы