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