HI i use Device camera in my Activity preview

first Camera.open() is good work

but enter Home key to back ground my Activity

and restart Acvitity is Camera.open() >> runtimeException Why?

    public SurfaceHolder.Callback getSurfaceHolderCallback() {
        return new SurfaceHolder.Callback() {
                /**
                 *
                 */
                public void surfaceCreated(SurfaceHolder holder) {
                        Logger.log("Camera overlay surfaceCreated");
                        try {
                                mCameraDevice = Camera.open(); >> 
RuntimeException
                                mCameraDevice.setPreviewDisplay(holder);
                        }catch (IOException e) {
                                mCameraDevice.release();
                                mCameraDevice = null;
                                e.printStackTrace();
                                Logger.log("surfaceCreated:"+e.getMessage());
                        }catch (RuntimeException e) {
                                Logger.log("surfaceCreated:"+e.getMessage());
                                mCameraDevice.release();
                                mCameraDevice = null;
                                e.printStackTrace();
                        }
                                mStatusListener.onOpenCamera();
                }
                /**
                 *
                 */
                public void surfaceChanged(SurfaceHolder holder, int format, int
width, int height) {
                        if(mCameraDevice != null) {
                                Parameters _param = 
mCameraDevice.getParameters();
                                Camera.Size _camSize =
_param.getSupportedPreviewSizes().get(0);
                                
_param.setPreviewSize(_camSize.width,_camSize.height);
//                      _param.setFocusMode(Camera.Parameters.FOCUS_MODE_AUTO);
                                mCameraDevice.setParameters(_param);
                                mCameraDevice.startPreview();
                                Logger.log("surfaceChanged");
                        } else {
                                // Maybe OutOfMemory
                                Logger.log("Camera overlay surfaceChanged : 
outofmemory");
                        }
                        mStatusListener.onCameraChange();
                }
                /**
                 *
                 */
                public void surfaceDestroyed(SurfaceHolder holder) {
                        Logger.log("Camera overlay surfaceDestroyed");
                        if(mCameraDevice != null) {
                                mCameraDevice.stopPreview();
                                mCameraDevice.release();
                                mCameraDevice = null;
                                Logger.log("surfaceDestroyed OK");
                        }else{
                                Logger.log("surfaceDestroyed : ??");
                        }
                        mStatusListener.onCameraDestroy();
                }
        };

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to