Android - общие настройки сбрасываются на Pixel 2 после перезагрузки устройства - PullRequest
0 голосов
/ 27 июня 2019

Это происходит только на Pixel 2, а не на других устройствах. Я заметил, что когда я открываю приложение на Pixel 2 после перезапуска устройства, жизненный цикл активности начинается снова, т.е. он начинается с onCreate (), тогда как на других устройствах (Nexus / Samsung / One +), когда я запускаю приложение после перезагрузки устройства, onResume () вызывается первым.

Так что мне интересно, что мои общие настройки стираются, так как приложение фактически перезапускается. Любая идея, что может быть причиной и как это можно предотвратить?

У меня есть следующий код в моем методе onCreate ():

if (!isTaskRoot
        && intent.hasCategory(Intent.CATEGORY_LAUNCHER)
        && intent.action != null
        && intent.action == Intent.ACTION_MAIN) {

    finish()
    return
}

Я точно знаю, что настройки сохраняются правильно, так как они отлично работают на других устройствах, и я использую метод .apply () для сохранения настроек.

private fun getBoolean(context: Context, key: String, defaultValue: Boolean): Boolean {
    return PreferenceManager.getDefaultSharedPreferences(context).getBoolean(key, defaultValue)
}

private fun setBoolean(context: Context, key: String, value: Boolean) {
    val editor = PreferenceManager.getDefaultSharedPreferences(context).edit()
    editor.putBoolean(key, value)
    editor.apply()
}

Редактировать: на устройстве Nexus я заметил, что жизненный цикл приложения начинается с onCreate после перезагрузки устройства, но сохраняет общие настройки. Так что просто Pixel 2 не сохраняет его.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...