onConfigurationChanged未被触发

时间:2017-09-21 11:01:57

标签: android orientation

我想根据设备轮换设置活动配置。

我使用以下方法处理轮换:

@Override
public void onConfigurationChanged(Configuration newConfig) {
.....
}

它可以从纵向旋转到横向。回调触发器和应用程序的方向已更改。

但是当它是风景时,它不会在设备周围旋转。但应用程序的方向已更改。

我将下面的行添加到清单中。

<uses-permission android:name="android.permission.WRITE_SETTINGS" />
     

机器人:configChanges = “取向|屏幕尺寸”

我该如何处理?

1 个答案:

答案 0 :(得分:0)

android:configChanges="orientation|keyboardHidden|screenSize" rather than android:configChanges="orientation"

确保您没有打电话

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

的任何地方。这将导致onConfigurationChange()无法触发。

另外,请检查您android:screenOrientation中是否未使用manifest

或者,在java代码setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

要强制Activity纵向模式的方向,您不能接受方向更改。

因此,解决方案是不setRequestOrientation到特定模式。但请改用SCREEN_ORIENTATION_SENSOR

referance:Android onConfigurationChanged not being called