OnConfigurationChanged没有在单声道android中调用

我正在尝试获取屏幕旋转事件.为此,我正在使用“OnConfigurationChanged”.

问题是我的Activity定义看起来像

[Activity(ConfigurationChanges = global::Android.Content.PM.ConfigChanges.Orientation | global::Android.Content.PM.ConfigChanges.KeyboardHidden)]

我无法提供导致问题的配置global :: Android.Content.PM.ConfigChanges.SreenSize,而不会调用OnConfigurationChanged.

我的解决方法是将配置添加到AndroidManifest.xml,这是一种黑客行为.

<activity
        android:name="mpa.gui.android.activities.HomeActivity"
        android:configChanges="orientation|keyboardHidden|screenSize">
</activity>

我正在使用
– Visual Studio 2012.
– 我的android项目目标API级别是17
– 最低Android目标设置为Android 2.3

AndroidManifest也配置了这个
    

知道为什么我无法在我的Activity中配置ScreemSize吗?

任何帮助表示赞赏.

最佳答案 您需要OR Android.Content.Pm.ConfigChanges.ScreenSize来触发onConfigurationChanged事件,以便在高于API级别13的Android版本中更改屏幕方向.

例如:

[Activity(Label = "MyActivity", ConfigurationChanges=Android.Content.PM.ConfigChanges.Orientation|Android.Content.PM.ConfigChanges.ScreenSize)]

资源:
https://stackoverflow.com/a/7366180/1099111

点赞