android: so überprüfen Sie blinkt, wenn on/off/auto?
So, ich bin versucht zu haben eine Taste, wo die Nutzer können wählen zwischen flash on/off/auto. Dieser button ist in meiner Kamera-Vorschau-Aktivität, aber ich bin mir nicht sicher, wie Sie überprüfen, bestimmte Parameter mit einem Knopfdruck.
//Flash Button
final Button flashButton = (Button) findViewById(id.camera_flash);
flashButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//TODO Auto-generated method stub
if(mCamera != null){
Parameters p = mCamera.getParameters();
p.setFlashMode(Parameters.FLASH_MODE_AUTO);
mCamera.setParameters(p);
mCamera.startPreview();
flashButton.setText("AUTO");
Log.e("Torch","Torch On");
}else{
Parameters p = mCamera.getParameters();
p.setFlashMode(Parameters.FLASH_MODE_OFF);
mCamera.setParameters(p);
mCamera.release();
mCamera=null;
flashButton.setText("OFF");
}//maybe another one for ON
}
Gerade jetzt seine Einstellung, wenn mCamera!=null
aber dann wie kann ich überprüfen, ob Blitz AUTO, ON oder OFF? Ich denke, dass es vielleicht einen SCHALTER statt? Ich versuche, diese Einstellungen in eine Taste, so seine Art Umschalten. Kann mir jemand helfen mit diesem?
Vielen Dank im Voraus.
AKTUALISIERTEN CODE
//Flash Button
final Button flashButton = (Button) findViewById(id.camera_flash);
flashButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Parameters p = mCamera.getParameters();
//TODO Auto-generated method stub
if(p.getFlashMode() == android.hardware.Camera.Parameters.FLASH_MODE_ON){
p.setFlashMode(Parameters.FLASH_MODE_OFF);
mCamera.setParameters(p);
mCamera.startPreview();
flashButton.setText("Off");
Log.e("Torch","MODE OFF");
}else if(p.getFlashMode() == android.hardware.Camera.Parameters.FLASH_MODE_OFF){
p.setFlashMode(Parameters.FLASH_MODE_TORCH);
mCamera.setParameters(p);
mCamera.release();
mCamera=null;
flashButton.setText("TORCH");
Log.e("Torch","MODE TORCH");
}else if(p.getFlashMode() == android.hardware.Camera.Parameters.FLASH_MODE_AUTO){
p.setFlashMode(Parameters.FLASH_MODE_ON);
mCamera.setParameters(p);
mCamera.startPreview();
flashButton.setText("ON");
Log.e("Torch","MODE ON");
}else if(p.getFlashMode() == android.hardware.Camera.Parameters.FLASH_MODE_TORCH){
p.setFlashMode(Parameters.FLASH_MODE_ON);
mCamera.setParameters(p);
mCamera.startPreview();
flashButton.setText("AUTO");
Log.e("Torch","MODE AUTO");
}else{
p.setFlashMode(Parameters.FLASH_MODE_AUTO);
mCamera.setParameters(p);
mCamera.startPreview();
flashButton.setText("AUTO");
Log.e("Torch","MODE AUTO");
}
}
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie überprüfen, ob Blitz AUTO, ON oder OFF als:
==
, aber seine.equals()
, Wenn jemand anderes kommt hier auf der Suche nach der gleichen Frage, möchte eine Antwort haben, die für Sie arbeiten. Ich antwortete, es richtig denn es hat mich in die richtige Richtung, aber der andere Kerl antwortete Sie mit der korrekten syntaxmCamera
definiert ?Camera.open()
Camera
ich habe versuchtCamera mCamera = new Camera()
es nicht funktioniert.Müssen Sie vergleichen die Werte mit der equals () - Methode anstelle von "==", denn die Werte sind Zeichenfolgen.