onConfigurationChanged 没有被触发

onConfigurationChanged is not getting triggered

我必须检测配置何时更改。我已将 configChanges 条件放入清单

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

activity 或任何片段中都没有 setRequestedOrientation。这是配置更改的代码:

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

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

覆盖用户设置的此首选项的方法是将以下代码添加到此处回答的清单中:onConfigurationChanged is not getting called any time in android

android:screenOrientation="sensor"

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

移除 android:configChanges="orientation|keyboardHidden|screenSize">