Obtenga la orientación del teléfono pero arregle la orientación de la pantalla en vertical

Quiero obtener la orientación del teléfono pero mantener la orientación de la pantalla en vertical. Por lo tanto, no importa si el usuario enciende el teléfono en horizontal o vertical, la vista permanece igual, pero puedo saber si está en horizontal o vertical.

Establecer la actividad enandroid: screenOrientation = "retrato" solucionará ambos, pero no podría detectar la orientación del teléfono a través de

public void onConfigurationChanged(Configuration newConfig) {
    switch (newConfig.orientation) {
    case Configuration.ORIENTATION_PORTRAIT:
        Toast.makeText(this, "Portrait", Toast.LENGTH_SHORT).show();
        break;
    case Configuration.ORIENTATION_LANDSCAPE:
        Toast.makeText(this, "Landscape", Toast.LENGTH_SHORT).show();
        break;
    default:
        break;
    }
}

Alguien tiene una idea de cómo solucionarlo?

Respuestas a la pregunta(12)

Su respuesta a la pregunta