java - Camera crashes if powerbutton pressed before picturecallback returns -


following problem: if press power button after pressing take picture button before getpicturecallback() methode called app crashes.

the camera loaded in thread this:

private class camerahandlerthread extends handlerthread {     handler mhandler = null;      camerahandlerthread() {         super("camerahandlerthread");         start();         mhandler = new handler(getlooper());     }      synchronized void notifycameraopened() {         notify();         runonuithread(new runnable() {             public void run() {                 setcameraparameter();             }         });     }      void opencamera() {         mhandler.post(new runnable() {             @override             public void run() {                 openandroidcamera();                 notifycameraopened();             }         });         try {             wait();         }         catch (interruptedexception ex) {             logmanager.e(tag, ex.getmessage(), ex);             coretoastdialog.showerrormessage(getstring(r.string.failedtoloadcamera));         }     } } 

i interrupt thread in onpause. ideas how fix this? bug occures in rare time shift - every 30 tries works maybe once.

if picturecallback, there way fix this?

error message:

w/dalvikvm﹕ threadid=1: thread exiting uncaught exception (group=0x410a32a0) w/system.err﹕ java.lang.runtimeexception: unable start activity componentinfo{devicelistview}: java.lang.nullpointerexception w/system.err﹕ @ android.app.activitythread.performlaunchactivity(activitythread.java:2110) w/system.err﹕ @ android.app.activitythread.handlelaunchactivity(activitythread.java:2135) w/system.err﹕ @ android.app.activitythread.access$700(activitythread.java:140) w/system.err﹕ @ android.app.activitythread$h.handlemessage(activitythread.java:1237) w/system.err﹕ @ android.os.handler.dispatchmessage(handler.java:99) w/system.err﹕ @ android.os.looper.loop(looper.java:137) w/system.err﹕ @ android.app.activitythread.main(activitythread.java:4921) w/system.err﹕ @ java.lang.reflect.method.invokenative(native method) 


Comments