Android 8.0 报错——非全面页面,需要去掉screenOrientation 属性

本文介绍了一种在Android8.0华为荣耀手机上遇到的Crash问题,涉及非全屏Activity强制设置屏幕方向导致的错误。通过移除screenOrientation属性解决了问题,确保只有全屏不透明的Activity才能请求方向。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天突然遇到一个crash

编译环境:

targetSdkVersion 27

报错机型:android8.0,华为荣耀

在android8.0的手机上,测试机型为华为荣耀,一个选择省市县的界面报错了,在其它机型没有这个问题,查看了报错日志后,恍然大悟,问题出在配置文件上。是非全屏的页面,不能强制设置横屏或者竖屏。去掉screenOrientation 就可以了!

<activity
    android:name=".actiity.AreaSelectorActivity"
    android:theme="@style/myTransparent"
    android:screenOrientation="portrait"></activity>

修改为

<activity android:name=".actiity.AreaSelectorActivity" android:theme="@style/myTransparent" 、></activity>就好了!

报错页面如下图,报错的时候是,一选择小区地址就报错了

报错页面截图
标题

报错信息如下,

BOARD = LLD - AL00
CPU_ABI2 =
    HOST = SIA1000116847
versionName = 1.0 .0
IS_TREBLE_ENABLED = true
SUPPORTED_64_BIT_ABIS = [Ljava.lang.String;@3cf6792
        CPU_ABI = arm64 - v8a
        PERMISSIONS_REVIEW_REQUIRED = false
        IS_USERDEBUG = false
        DISPLAY = LLD - AL00 8.0 .0 .178(C00)
        SUPPORTED_ABIS = [Ljava.lang.String;@dc9c563
            FINGERPRINT = HONOR / LLD - AL00 / HWLLD - H: 8.0 .0 / HONORLLD - AL00 / 178(C00): user / release - keys
            PRODUCT = LLD - AL00
            HIDE_PRODUCT_INFO = false
            ID = HONORLLD - AL00
            replacements = [Ljava.lang.String;@b019a19
                TYPE = user
                SERIAL = MKJ4C18329002850
                NO_HOTA = false
                IS_CONTAINER = false
                IS_ENG = false
                DEVICE = HWLLD - H
                TIME = 20180804210332
                IS_USER = true
                MODEL = LLD - AL00
                userName = zhanghong
                MANUFACTURER = HUAWEI
                USER = test
                versionCode = 1
                BRAND = HONOR
                SUPPORTED_32_BIT_ABIS = [Ljava.lang.String;@5e0891d
                    matchers = [Ljava.lang.String;@69f6560
                        HARDWARE = hi6250
                        IS_DEBUGGABLE = false
                        BOOTLOADER = unknown
                        RADIO = unknown
                        TAG = Build
                        UNKNOWN = unknown
                        IS_EMULATOR = false
                        TAGS = release - keys
                        java.lang.RuntimeException: Unable to start activity ComponentInfo {
                            guiyang.bonc.com.collection / .collection.actiity.AreaSelectorActivity
                        }: java.lang.IllegalStateException: Only fullscreen opaque activities can request orientation
                        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java: 3194)
                        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java: 3302)
                        at android.app.ActivityThread. - wrap12(Unknown Source: 0)
                        at android.app.ActivityThread$H.handleMessage(ActivityThread.java: 1891)
                        at android.os.Handler.dispatchMessage(Handler.java: 108)
                        at android.os.Looper.loop(Looper.java: 166)
                        at android.app.ActivityThread.main(ActivityThread.java: 7425)
                        at java.lang.reflect.Method.invoke(Native Method)
                        at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java: 245)
                        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java: 921)
                        Caused by: java.lang.IllegalStateException: Only fullscreen opaque activities can request orientation
                        at android.app.Activity.onCreate(Activity.java: 1081)
                        at guiyang.bonc.com.collection.actiity.AreaSelectorActivity.onCreate(AreaSelectorActivity.java: 45)
                        at android.app.Activity.performCreate(Activity.java: 7372)
                        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java: 1218)
                        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java: 3147)
                        ...9 more
                        java.lang.IllegalStateException: Only fullscreen opaque activities can request orientation
                        at android.app.Activity.onCreate(Activity.java: 1081)
                        at guiyang.bonc.com.collection.actiity.AreaSelectorActivity.onCreate(AreaSelectorActivity.java: 45)
                        at android.app.Activity.performCreate(Activity.java: 7372)
                        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java: 1218)
                        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java: 3147)
                        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java: 3302)
                        at android.app.ActivityThread. - wrap12(Unknown Source: 0)
                        at android.app.ActivityThread$H.handleMessage(ActivityThread.java: 1891)
                        at android.os.Handler.dispatchMessage(Handler.java: 108)
                        at android.os.Looper.loop(Looper.java: 166)
                        at android.app.ActivityThread.main(ActivityThread.java: 7425)
                        at java.lang.reflect.Method.invoke(Native Method)
                        at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java: 245)
                        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java: 921)

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值