Как я запуталась, вылет произошел в устройстве Oreo (8.1) для прикладной темы. Вот мой код, проверьте его.
<activity
android:name = ".Menu_Activity"
android:screenOrientation = "portrait"
android:theme = "@style/AppTranslTheme" />
<style name = "AppTranslTheme" parent = "android:Theme.Translucent.NoTitleBar">
Пока я удалил android: theme, приложение не вылетало. Но мне не хватало прозрачности экрана. Мне это тоже нужно, чтобы не было сбоев в Oreo. Пожалуйста, поддержите меня, чтобы исправить это.
Ваш ответ очень важен !!!
Если вы прочитаете журнал ошибок и трассировку стека, вы обнаружите:
java.lang.IllegalStateException: Only fullscreen opaque activities can request orientation
Итак, простое решение: удалите строку ниже из файла манифеста для этого действия:
android:screenOrientation = "portrait"
В Android Oreo вы не можете изменить настройку для Activity, просто используя XML, если стиль (или родительский стиль) имеет эту строку:
<item name = "android:windowIsTranslucent">true</item>
Сначала удалите
android:screenOrientation = "portrait"
а в java-файле напишите такой код:
if (android.os.Build.VERSION.SDK_INT < Build.VERSION_CODES.O) {
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
}
Может быть, это ошибка, кто знает.
Если вы выполните поиск стиля Theme.Translucent
из framework themes.xml, (нажмите) вы найдете
<item name = "android:windowIsTranslucent">true</item>
попробуйте: <style name = "AppTranslTheme" parent = "Theme.AppCompat.Light.NoActionBar">