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