我有两个活动:
<activity
android:name=".ui.MainActivity"
android:configChanges="orientation|screenSize" />
<activity
android:name=".ui.DetailActivity"
android:screenOrientation="landscape" />
在某些设备/仿真器上,我遇到一个奇怪的错误:当我从DetailActivity返回到MainActivity时,该设备将不再调用onConfigurationChanged
,直到我单击OptionsMenuItem为止。单击选项菜单后,它可以正常工作。以编程方式打开OptionsMenu,但是不起作用。
更令人困惑的是,它仅在具有不同Android版本的少数设备或模拟器上发生。
答案 0 :(得分:0)
我发现了一个变通方法,在MainActivity中,我稍稍延迟就叫requestedOrientation
。
override fun onResume() {
super.onResume()
Handler().postDelayed(Runnable {
requestedOrientation = ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED
}, 500)
}
答案 1 :(得分:-1)
您叫这个密码吗?
@Override
protected void onRestoreInstanceState(Bundle savedInstanceState) {
super.onRestoreInstanceState(savedInstanceState);
}
@Override
public void onSaveInstanceState(Bundle outState, PersistableBundle outPersistentState) {
super.onSaveInstanceState(outState, outPersistentState);
}