0
我想創建一個應用程序來控制相機閃光燈,所以當我點擊一個按鈕的閃光燈應該打開,如果它沒有,或關閉,如果它打開,但該應用程序沒有工作,我不知道錯誤在哪裏,這裏是我的代碼:如何檢查相機閃光燈是打開還是關閉?
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;
}
}