I want to create an app to control the camera flash, so when I click a button the flash should turned on if its not, or turned off if its turned on, but the app didn't worked and I don't know where is the error, here is my code:
public class MainActivity extends Activity {
Button b;
Camera camera;
Camera.Parameters ps;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_main);
b = (Button) this.findViewById(R.id.b);
if(getPackageManager().hasSystemFeature(PackageManager.FEATURE_CAMERA_FLASH)){
b.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
ps = camera.getParameters();
if(ps.getFlashMode().equals(android.hardware.Camera.Parameters.FLASH_MODE_OFF)){
camera = Camera.open();
Parameters p = camera.getParameters();
p.setFlashMode(Parameters.FLASH_MODE_TORCH);
camera.setParameters(p);
camera.startPreview();
b.setText("Turn off");
}
else if(ps.getFlashMode().equals(android.hardware.Camera.Parameters.FLASH_MODE_ON)){
camera = Camera.open();
Parameters p = camera.getParameters();
p.setFlashMode(Parameters.FLASH_MODE_OFF);
camera.setParameters(p);
camera.stopPreview();
b.setText("Turn on");
}
else if(ps.getFlashMode().equals(null)){
camera = Camera.open();
Parameters p = camera.getParameters();
p.setFlashMode(Parameters.FLASH_MODE_TORCH);
camera.setParameters(p);
camera.startPreview();
b.setText("Turn off");
}
}
});
}
else
return;
}
}