android camera 拍照后继续,Android使用camera实现拍照后停留在预览界面的问题
camera实现拍照的代码:/***开始拍照*/publicvoidstartCapture(){if(null!=camera){camera.takePicture(null,null,pictureCallback);}}privatefinalCamera.PictureCallbackpictureCallback=newCamera.PictureCal...
camera实现拍照的代码:/**
* 开始拍照
*/
public void startCapture() {
if (null != camera) {
camera.takePicture(null, null, pictureCallback);
}
}
private final Camera.PictureCallback pictureCallback = new Camera.PictureCallback() {
@Override
public void onPictureTaken(byte[] data, Camera camera) {
//
if (data != null) {
//解析生成相机返回的图片
try {
File dir = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM);
if (!dir.exists()) {
dir.mkdirs();
}
File mCaptureFile = new File(dir, System.currentTimeMillis() + ".jpg");
FileOutputStream fos = new FileOutputStream(mCaptureFile);
fos.write(data);
fos.close();
Toast.makeText(surfaceView.getContext(), "拍照成功", Toast.LENGTH_SHORT).show();
} catch (Exception e) {
e.printStackTrace();
Toast.makeText(surfaceView.getContext(), "保存相片失败", Toast.LENGTH_SHORT).show();
}
} else {
Toast.makeText(surfaceView.getContext(), "拍照失败,请重试", Toast.LENGTH_SHORT).show();
}
}
};
运行起来会发现一个问题就是拍照完成后停留在预览界面,此时如果你不录像是没有问题的,但是如果你正在录像停留在当前界面是不是很尴尬,一番查找后只需要重新设置camera的参数就可以实现拍照完成后不预览画面,录像一直在进行是不是很爽Camera.Parameters params = camera.getParameters();
params.setFocusMode(Camera.Parameters.FOCUS_MODE_AUTO);
camera.setParameters(params);
更多推荐
所有评论(0)