Вот основной:
<activity android:name=".MainActivity"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".Main2Activity"
android:screenOrientation="portrait">
</activity>
У нас есть два действия, ориентация обоих ограничена Портретом , как указано в Манифесте.MainActivity
запускается Main2Activity
, onBackPressed()
из Main2Activity
переопределяется и показывает код Toast
ниже:
@Override
public void onBackPressed() {
Toast.makeText(Main2Activity.this,"This is from Second",Toast.LENGTH_SHORT).show();
super.onBackPressed();
}
Описание проблемы:
1Держите телефон в альбомной ориентации
2. Запустите приложение
3. MainActivity
создается в портретном режиме (пока проблем нет)
4. Запустите Main2Activity
из MainActivity
, есть кнопкадля этого
5. Main2Activity
открывается в портретной ориентации (до сих пор это не проблема)
6. Нажмите аппаратную кнопку возврата, Main2Activity
исчезнет
7. MainActivity
появится вLandscape с Toast, затем он автоматически меняется на Portrait.
8. Устройство было в альбомной ориентации на всех этих этапах
9. Попробовал изменить контекст на контекст приложения, но не повезло
10. Удалил Toast и всеработает как ожидалось
Почему это поведение в точке 7?