例如在Service里调用Camera.takePicture函数进行拍照,还有就是Camera.takePicture的使用一定需要SurfaceView么?
public class MainService extends Service {
PictureCallback jpeg = new PictureCallback(){ @Override
public void onPictureTaken(byte[] data,Camera camera) {
// TODO Auto-generated method stub
System.out.println("in onPictureTaken");
final Bitmap bm = BitmapFactory.decodeByteArray(data, 0, data.length);
String filename;
final Calendar c = Calendar.getInstance(); 
filename = new String(c.get(Calendar.YEAR)+"_"+c.get(Calendar.MONTH)+"_"+c.get(Calendar.HOUR_OF_DAY)+"_"+c.get(Calendar.MINUTE)+"_"+c.get(Calendar.SECOND));
File file = new File(Environment.getExternalStorageDirectory(),filename+".jpg");
System.out.println(file.getAbsolutePath());
FileOutputStream outStream = null;
try{
outStream = new FileOutputStream(file);
bm.compress(CompressFormat.JPEG, 100, outStream);
outStream.close();
}catch(Exception e){
System.out.println(e);
}
} };
@Override
public IBinder onBind(Intent arg0) {
// TODO Auto-generated method stub
return null;
}
public void onCreate(){
Camera camera;
camera = Camera.open();
try{
Camera.Parameters parameters = camera.getParameters();
parameters.setPictureFormat(PixelFormat.JPEG);
parameters.set("jpeg-quality", 85);
parameters.setPictureSize(320, 480);
camera.setParameters(parameters);


camera.startPreview();
}catch(Exception e){
System.out.println(e);
}

camera.takePicture(null, null, jpeg);
手机androidService拍照Camera.takePicture