让自己开发的照相软件也可以自动对焦
拍照button按下时
mCamera.autoFocus(mAutoFocusCallBack);
private AutoFocusCallback mAutoFocusCallBack = new AutoFocusCallback() {@Overridepublic void onAutoFocus(boolean success, Camera camera) {if (success) {mInProgress = true;// set parameters of cameraCamera.Parameters Parameters = mCamera.getParameters();Parameters.setPreviewSize(IMG_PREVIEW_WIDTH, IMG_PREVIEW_HEIGHT);Parameters.setPictureSize(IMG_WIDTH, IMG_HEIGHT);mCamera.setParameters(Parameters);mCamera.takePicture(mShutterListener, null, mImageCaptureCallback);}}};
private static int IMG_PREVIEW_WIDTH = 480;private static int IMG_PREVIEW_HEIGHT = 320;private static int IMG_WIDTH = 1280;private static int IMG_HEIGHT = 960;
private Camera.ShutterCallback mShutterListener = new Camera.ShutterCallback() {public void onShutter() {}};
private PictureCallback mImageCaptureCallback = new PictureCallback() {@Overridepublic void onPictureTaken(final byte[] data, Camera camera) {new Thread(new Runnable() {@Overridepublic void run() {// get path to save image fileString filePath = "/sdcard/DCIM/Camera";// generate file nameString name = "mytest.jpg";String fileName = filePath + name;FileOutputStream fos = null;try {// saving filefos = new FileOutputStream(fileName);fos.write(data);fos.close();} catch (Exception e) {// close file if errorif (fos != null) {try {fos.close();} catch (IOException e1) {e1.printStackTrace();}try {throw e;} catch (Exception e1) {e1.printStackTrace();}}// close scenefinish();}}}).start();}};
<uses-permission android:name="android.permission.CAMERA" />