У меня проблема с поворотом Activity после того, как я вернулся от другого, у которого другая ориентация экрана.
Позвольте мне описать шаги для воспроизведения этого поведения:
1.У меня в манифесте объявлено действие, подобное этому:
<activity
android:name = ".JobActivity"
android:label = "@string/title_activity_job"
android:screenOrientation = "portrait" />
Как видите, screenOrientation настроен на portrait.
Внутри этого Activity я запускаю другое Activity со следующим намерением:
Intent jobDetailsIntent = new Intent(mActivity, JobDetailActivity.class);
startActivity(cameraIntent);
Эта ориентация экрана активности заявлена как landscape.
<activity
android:name = ".JobDetailActivity"
android:screenOrientation = "landscape"
android:theme = "@style/ThemeFullscreen" />
JobDetailActivity при нажатии кнопки запускает другое Activity, ожидая результата.startActivityForResult(getIntent(activity), requestCode);
Это другое действие объявлено как portrait.
<activity
android:name = ".QuestionsActivity"
android:screenOrientation = "portrait"
android:theme = "@style/ThemeFullscreen.Color" />
finish, чтобы вернуться к первому действию (JobActivity).@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode == RESULT_OK) {
// Some other stuff
this.finish();
}
}
На этом этапе, когда я возвращаюсь к JobActivity, я на секунду вижу Activity в landscape (помните, что он был объявлен как portrait), а затем возвращается в исходное положение.
Подводить итоги:
A (portrait) -> B (landscape) -> C (portrait)
После получения результата от C и возврата к B
A (portrait) -> B (landscape)
После звонка finish из B
A (landscape)
Через секунду
A (portrait)
Есть идеи, почему это может происходить? Спасибо вам всем, ваша помощь очень ценится.
Он занимал весь экран в ландшафтном режиме.




Я не понимаю этот код:
Intent jobDetailsIntent = new Intent(mActivity, JobDetailActivity.class);
startActivity(cameraIntent);
Существует разница между названием объявления намерения и намерением, используемым для запуска действия.
Может проблема здесь.
Спасибо.
Ох, заткнись, я этого не заметил. Это точно jobDetialsIntent, а не cameraIntent. Извини за это.
На последних двух шагах: пока A находился в альбомной ориентации, занимал ли она только половину экрана с альбомной ориентацией, прежде чем она окончательно настроилась на портретную ориентацию?