Taschenlampen App blockiert Kamera?

Hi ich wollte eine eigene Taschenlampe programmieren hab dies auch halbwegs Erfolgreich getan. Doch habe ich folgendes Problem:

Wenn ich die App öffne und die Lampe an und aus mache, sie dann schließe und die Handy Kamera, Snapchat oder änliches öffne kommt die Nachricht: Warnung Kamerafehler!

Ich schätze das die App die Kamera blockiert. Wie kann ich das beheben??

ActivityMain.java


import android.content.pm.PackageManager; import android.hardware.Camera; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.widget.CompoundButton; import android.widget.Switch; import android.widget.Toast; import android.widget.ToggleButton;

public class MainActivity extends AppCompatActivity{

ToggleButton togglebtn;
Camera camera;
Camera.Parameters pam;
boolean lighton;


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);


    togglebtn = (ToggleButton) findViewById(R.id.toggleButton);
    togglebtn.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
        @Override
        public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {

            if (isChecked == true){
                if (getPackageManager().hasSystemFeature(PackageManager.FEATURE_CAMERA_FLASH)){
                    if (camera == null){
                        camera = Camera.open();
                    }

                    pam = camera.getParameters();
                     pam.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH);
                    camera.setParameters(pam);
                    camera.startPreview();

                    lighton = true;

                }else{
                    Toast.makeText(getApplicationContext(), "keine LED-Lampe vorhanden", Toast.LENGTH_SHORT).show();
                }
            }
            if (isChecked == false){
                lightoff();
            }
        }
    });

}

public void lightoff(){
    if (lighton == false) {
        camera = Camera.open();

    }
    pam = camera.getParameters();
    pam.setFlashMode(Camera.Parameters.FLASH_MODE_OFF);
    camera.setParameters(pam);
    camera.stopPreview();

    lighton = false;
}
@Override
protected void onPause(){
    if (lighton == true) {
        lightoff();
        camera.release();
    }
    super.onPause();
}

@Override
protected void onResume() {
    togglebtn.setChecked(false);
    super.onResume();
}

}



Danke im vorraus:)

App, programmieren, Java, Android
Weitere Inhalte können nur Nutzer sehen, die bei uns eingeloggt sind.