Вспышка выключается при изменении ориентации

Я создал приложение для Android, которое позволит пользователю включать и выключать вспышку нажатием кнопки. Если пользователь включает вспышку и меняет ориентацию, свет выключается. Почему это происходит? Пожалуйста, смотрите код ниже, который я использовал.

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;
            }
        }
    });

Ответы на вопрос(2)

Ваш ответ на вопрос