Search code examples
androidandroid-manifestandroid-orientationandroid-8.1-oreo

Activity rotating itself and back to normal in android 8.1


My App is running fine for all the android version but I have noticed that in Android 8.1.0 (Oreo) when I go the screen from portrait activity to landscape activity and when I press back button it shows the abnormal behavior.

Screen auto rotate from landscape and returns it to normal. It looks like Activity is restarting itself.

Below are the activities which is define in the manifest file.

<activity
    android:name=".Home.TrainingsActivity"
    android:configChanges="keyboardHidden|orientation|screenSize|layoutDirection|locale"
    android:screenOrientation="portrait" />

<activity
    android:name=".Home.ProgrammeActivity"
    android:configChanges="keyboardHidden|orientation|screenSize|layoutDirection|locale"
    android:screenOrientation="landscape" />

Solution

  • We also faced the same issue with Oreo. We actually can't triggered why its happening with the specific OS version. But we do had a solution to cater this problem. You can add force Orientation to portrait when finishing your landscape activity. add this this with onBackPressed() methond in ProgrammeActivity.

     @Override
    public void onBackPressed() {
        super.onBackPressed();
        setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
    }
    

    this should solve this abnormal behavior :)