onConfigurationChanged没有被触发

时间:2016-01-17 11:56:19

标签: android orientation screen-orientation android-orientation onconfigurationchanged

我必须检测配置何时发生变化。我已将configChanges条件放在清单

    <activity
        android:name=".WorkoutActivity"
        android:configChanges="orientation|keyboardHidden|screenSize">
    </activity>

活动或任何片段中都没有setRequestedOrientation。以下是配置更改的代码:

@Override
public void onConfigurationChanged(Configuration newConfig) {
    super.onConfigurationChanged(newConfig);
    Toast.makeText(this, "activity rotated", Toast.LENGTH_SHORT).show();
}

2 个答案:

答案 0 :(得分:0)

未检测到旋转的原因是因为我在手机上将设备旋转设置为纵向(取消了自动旋转)。这阻止了我的应用程序旋转。在这里找到答案: onConfigurationChanged not getting called

覆盖用户设置的此偏好设置的方法是将以下代码添加到清单中,如下所示:onConfigurationChanged is not getting called any time in android

android:screenOrientation="sensor"

现在应用程序根据传感器输入旋转,并触发onConfigurationChanged。我希望这个答案可以帮助其他人摆脱这个潜在的错误。

答案 1 :(得分:0)

删除android:configChanges =“orientation | keyboardHidden | screenSize”&gt;