Android запускает действие (из проекта библиотеки) в альбомной ориентации, даже если указан android: screenOrientation = "Portrait" - PullRequest
0 голосов
/ 22 ноября 2018

В моем приложении у меня есть следующая последовательность действий:

  • Деятельность 1 начинает операцию 2 с startActivityForResult
  • , в какой-то момент операция 2 успешно завершается
  • в Activity1 в onActivityResult Activity2 запускается с startActivityForResult

Все действия указаны в манифесте с android:screenOrientation="portrait".

Проблема заключается в том, что, когда телефон находится в альбомной ориентациикогда Activity2 запускает LibActivity, он изначально запускается в альбомной ориентации и сразу же уничтожается и создается в портретной.Напротив, когда Activity1 запускает Activity2, Activity2 создается в портретном режиме.

Единственная особенность LibActivity - это то, что он исходит из библиотечного проекта.

Любая идея, почему это происходит и /или как этого избежать?

Вот как декларируется активность в манифесте:

    <activity
        android:exported="false"
        android:name="com.test.LibActivity"
        android:screenOrientation="portrait">
    </activity>

Библиотека - это просто проект библиотеки, созданный мной.Он включен в Gradle, как:

implementation project(path: ':my_lib')

1 Ответ

0 голосов
/ 22 ноября 2018

Я обнаружил, что проблема была вызвана

this.overridePendingTransition(0, 0);

, который я использовал при запуске действий, чтобы избежать эффектов перехода.

Очевидно, это мешает ориентации, привязанной к портрету.

...