onConfigurationChanged() не вызывается для Android:configChanges="плотность"

Я добавил Android:configChanges="плотность" для активности в файле манифеста. Но я не получаю обратный вызов onConfigurationChanged()

    <?xml version="1.0" encoding="utf-8"?>

<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:roundIcon="@mipmap/ic_launcher_round"
    android:supportsRtl="true"
    android:theme="@style/AppTheme">
    <activity android:name=".ClientActivity" android:configChanges="density">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
</application>

Я упомянул ниже метод onConfigurationChanged(). На самом деле я ничего не делаю внутри этого. Если мне перезвонят, я хочу продолжить.

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

2 ответа

Добавить в манифест

android:configChanges="keyboardHidden|orientation|screenSize"

добавить в активность.

@Override
    public void onConfigurationChanged(Configuration newConfig) {
        super.onConfigurationChanged(newConfig);
        if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) {
            Log.d("OrientationMyApp", "Current Orientation : Landscape");

        } else if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT){
        Log.d("OrientationMyApp", "Current Orientation : Portrait");
        // Your magic here for portrait mode
      }
   }

У меня была такая же проблема, и она сводила меня с ума. Для меня было исправлено добавление наименьшегоScreenSize:

      android:configChanges="density|smallestScreenSize"

у меня уже былоscreenSize|screenLayout|layoutDirectionа также по другим причинам, это тоже может быть необходимо. Я бы предложил поэкспериментировать со всеми возможными атрибутами дляandroid:configChangesпока это не сработает.

https://developer.android.com/guide/topics/manifest/activity-element#config

Другие вопросы по тегам