onConfigurationChanged() не вызывается для android:configChanges=density

Я добавил android:configChanges="density" для активности в файле манифеста. Но я не получаю обратный вызов 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);
}

person Ravi Teja M    schedule 21.12.2018    source источник
comment
Можете ли вы опубликовать реализацию метода onConfigurationChanged?   -  person tomerpacific    schedule 21.12.2018
comment
Здравствуйте, Tomerpacific, я также добавил свой метод onConfigurationChanged(). Прежде всего, я не получаю обратный вызов. Если я получу обратный звонок, я продолжу. Пожалуйста, проверьте и помогите мне. Спасибо   -  person Ravi Teja M    schedule 21.12.2018


Ответы (1)


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

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
      }
   }
person Pratik18    schedule 21.12.2018
comment
Привет Пратик, Спасибо за ваш ответ. На самом деле я меняю ScreenZoom. Для этого, как я знаю, android:configChanges=density является обязательным свойством, которое нам нужно добавить в манифест. Только для плотности я не получаю обратный вызов. Не могли бы вы проверить и помочь мне, если у вас есть решение этой проблемы. Спасибо - person Ravi Teja M; 21.12.2018
comment
android:configChanges вы можете добавить параметр плотности. - person Pratik18; 21.12.2018
comment
Привет, Pratik, я уже добавил параметр плотности в манифест. Я упомянул тот же код выше. Даже я не получаю обратный вызов. - person Ravi Teja M; 21.12.2018
comment
newConfig.densityDpi через получение dpi - person Pratik18; 21.12.2018