Если вы хотите самостоятельно обрабатывать ротацию устройства, используйте следующий метод:
@Override
public void onConfigurationChanged(Configuration config)
{
super.onConfigurationChanged(config);
Display display = ((WindowManager)getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay();
if(display.getRotation() == Surface.ROTATION_90)
{
mFlash.startAnimation(mRotate);
}
if(display.getRotation() == Surface.ROTATION_90)
{
parameters.setPreviewSize(width, height);
}
if(display.getRotation() == Surface.ROTATION_180)
{
parameters.setPreviewSize(height, width);
}
if(display.getRotation() == Surface.ROTATION_270)
{
parameters.setPreviewSize(width, height);
mCamera.setDisplayOrientation(180);
}
}
Действия внутри операторов if являются лишь примерами того, что может быть сделано.Очевидно, обрабатывать все, что вам нужно там.