La luz del flash se apaga al cambiar la orientación

He creado una aplicación para Android que permitirá al usuario encender y apagar la luz del flash presionando un botón. Si el usuario enciende la luz del flash y cambia la orientación, la luz se apaga. Por qué esto está sucediendo. Por favor, consulte el código de abajo que he usado.

cam = Camera.open();
    final Parameters p = cam.getParameters();

    torch_switch = (Button)findViewById(R.id.torch_switch);
    torch_switch.setOnClickListener(new OnClickListener() {

        public void onClick(View v) {


            // TODO Auto-generated method stub
            if(isLightOn) {
                torch_switch.setText("Switch ON Torch");
                p.setFlashMode(Parameters.FLASH_MODE_OFF);
                cam.setParameters(p);
                cam.stopPreview();
                isLightOn = false;

            } else {
                torch_switch.setText("Switch OFF Torch");
                p.setFlashMode(Parameters.FLASH_MODE_TORCH);
                cam.setParameters(p);
                cam.startPreview();
                isLightOn = true;
            }
        }
    });

Respuestas a la pregunta(2)

Su respuesta a la pregunta