OnConfiguration Changed在android中任何时候都不会被调用

OnConfiguration Changed在android中任何时候都不会被调用,android,screen-orientation,android-orientation,Android,Screen Orientation,Android Orientation,我已经创建了测试方向的示例程序。如果肖像模式和我倾斜手机的另一个方向,我希望我的示例应用程序反向。在阅读了大量关于此的问题后,我们认为需要使用: onConfigurationChanged(Configuration newConfig) 我尝试了以下方法: @Override public void onConfigurationChanged(Configuration newConfig) { super.onConfigurationChanged(newC

我已经创建了测试方向的示例程序。如果肖像模式和我倾斜手机的另一个方向,我希望我的示例应用程序反向。在阅读了大量关于此的问题后,我们认为需要使用:

   onConfigurationChanged(Configuration newConfig) 
我尝试了以下方法:

    @Override
public void onConfigurationChanged(Configuration newConfig) 
{
    super.onConfigurationChanged(newConfig);

    Configuration c = getResources().getConfiguration();

    Log.e("Config",""+c);

    if (c.orientation == Configuration.ORIENTATION_PORTRAIT) 
    {
        // portrait

        Log.e("On Config Change","portrait");

    } 
    else if (c.orientation == Configuration.ORIENTATION_LANDSCAPE) 
    {
        // landscape
        Log.e("On Config Change","LANDSCAPE");

    }
}
manifest.xml

android:configChanges="orientation" 
甚至试过这个

android:configChanges="orientation|screensize"
奇怪的是,我没有在OnConfigurationChange方法中获取日志

不确定。这里有什么问题

我使用的是最低api 8,目标是api 18

有人能帮我解决这个问题吗

谢谢

您的代码没有问题 修改manifest.xml android:configChanges=“方向|键盘隐藏”
我希望它能帮助您

在将目标API更改为19(4.4 kitkat)后,我遇到了同样的问题 您需要添加layoutDirection属性以确定高于版本17的目标

我的属性看起来像:

android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|layoutDirection"

关键是添加“layoutDirection”

我刚刚遇到了这个问题,并用这个奇怪的小技巧解决了它

在清单中设置
屏幕方向
,如下所示:

android:screenOrientation="sensor"

这为我解决了问题。

您的设备是否启用了屏幕方向?您是如何做到的?你能把代码贴在你强制它处于反向肖像模式的地方吗。您是否使用
setRequestedOrientation
函数来执行此操作?如果是,那么一旦你使用了这个功能,你就不是接受方向改变的候选人。@NikolaDespotoski-是。它已启用。您要求我放置的清单更改已接受Api超过12。我目前的目标是Api 8和更多