Android 8.0 報錯——非全面頁面,需要去掉screenOrientation 屬性
今天突然遇到一個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)