public final class CameraManager { private static CameraManager cameraManager;
private Camera camera;
private final Context context; private boolean previewing; private Handler autoFocusHandler;
private Handler previewHandler;
private int previewMessage; public static void init(Context context) {
if (cameraManager == null) {
cameraManager = new CameraManager(context);
}
} public static CameraManager get() {
return cameraManager;
} private CameraManager(Context context) {
this.context = context;
camera = null;
previewing = false; } public String openDriver(SurfaceHolder holder)
throws IOException {
// holder.setType(2);
String result = null;
if (camera == null) {

// Camera.Parameters parameters = camera.getParameters();
// parameters.set("camera-id",2);

camera = Camera.open();
camera.setPreviewDisplay(holder);

/**
 * ��androidģ�������ûس��ִ���������Ͽ������ã����������ϲ����ã������պ��ȡ��Ƭ�����
 * */
// Camera.Parameters p =camera.getParameters();
// p.setPreviewFormat(PixelFormat.JPEG);
// p.setPreviewSize(CameraPreview.ScrrenWidth, CameraPreview.ScrrenHeight);
// p.setPictureSize(CameraPreview.ScrrenWidth, CameraPreview.ScrrenHeight);
// camera.setParameters(p); }
return result;
}

public void closeDriver() {
if (camera != null) {
camera.release();
camera = null;
}
} public void startPreview() {
if (camera != null && !previewing) {
camera.startPreview();
previewing = true;
}
} public void stopPreview() {
if (camera != null && previewing) {
// if (!useOneShotPreviewCallback) {
// camera.setPreviewCallback(null);
// }


camera.stopPreview();
previewHandler = null;
autoFocusHandler = null;
previewing = false;
}
} public void requestPreviewFrame(Handler handler, int message) {
if (camera != null && previewing) {
previewHandler = handler;
previewMessage = message;
// if (useOneShotPreviewCallback) {
// camera.setOneShotPreviewCallback(previewCallback);
// } else {
// camera.setPreviewCallback(previewCallback);
// }
camera.takePicture(null, null,jpegCallback);
}
} public void requestAutoFocus(Handler handler, int message) {
// if (camera != null && previewing) {
// autoFocusHandler = handler;
// autoFocusMessage = message;
// camera.autoFocus(autoFocusCallback);
// }
}

private ShutterCallback shuuterCallback = new ShutterCallback() { public void onShutter() { } };

ProgressDialog alertDialog;
private PictureCallback jpegCallback = new PictureCallback() { public void onPictureTaken(byte[] data, Camera camera) {

if(previewHandler!=null){

try{

Bitmap $bitmap = BitmapFactory.decodeByteArray(data, 0, data.length);


int sizew=240;
int sizeh=320;
float scaleWidth = ((float) sizew) / $bitmap.getWidth();  
float scaleHeight = ((float) sizeh) / $bitmap.getHeight();
Matrix matrix = new Matrix();  
        matrix.postScale(scaleWidth, scaleHeight);  
//         
        Bitmap resizedBitmap = Bitmap.createBitmap($bitmap, 0, 0, $bitmap.getWidth(),  
         $bitmap.getHeight(), matrix, true); 

ByteArrayOutputStream out = new ByteArrayOutputStream(data.length);
resizedBitmap.compress(Bitmap.CompressFormat.JPEG, 75, out);


byte[] array= out.toByteArray();

out.flush();
out.close(); Message message = previewHandler.obtainMessage(previewMessage, array);
    message.sendToTarget();
    previewHandler=null;
    
    System.gc();
}catch(Exception ex)
{

}
}
} };
}
 不是调用系统的相机       有哪位兄台知道  如何调用前置摄像头吗。。    2.2 的哦   不是2.3