private Camera _camera;
protected static final String MODE_TORCH = Camera.Parameters.FLASH_MODE_TORCH;
protected static final String MODE_OFF = Camera.Parameters.FLASH_MODE_OFF;
private void initCamera(){
if(this._camera == null){
this._camera = Camera.open();
this._camera.startPreview();
}
}
private void releaseCamera(){
if(this._camera != null)
{
this._camera.stopPreview();
this._camera.release();
}
this._camera = null;
}
private void setCameraParameter(String value){
if(this._camera != null){
Camera.Parameters params = this._camera.getParameters();
params.setFlashMode(value);
this._camera.setParameters(params);
}
}
//To turn on just use:
private void turnOn(){
initCamera();
setCameraParameter(MODE_TORCH);
}
//to turn off just use:
private void turnOff(){
setCameraParameter(MODE_OFF);
}
//To release resorces use:
private void releaseResources(){
releaseCamera();
}
這將工作在android 2.3。要在android 2.3和4.0.3上工作,你必須使用surfaceView和surfaceHolder。
我可以證實,火炬在nexus S.工作。我的應用程序發佈在這裏:https://market.android.com/details?id=droid.pr.coolflashlightfree是那個教授。另外我有一個聯繫S和工作。如果您需要幫助,請與我聯繫,我會向您發送一份樣品 – 2012-03-01 11:15:12
佩德羅,這聽起來不錯,您可以將它張貼在這裏供其他人看嗎? – 2012-03-04 21:54:46