Я использую ProcessLifecycleOwner для отслеживания событий жизненного цикла моего приложения, в частности для определения того, когда оно переходит на передний план или на задний план. Однако я заметил, что метод onStop() в моем DefaultLifecycleObserver не вызывается, когда я удаляю приложение из списка последних приложений.
Он работает, когда я нажимаю кнопку «Назад». Он не вызывается. Когда я нахожусь в приложении, нажимаю кнопку паузы/обзора, чтобы приостановить работу последних приложений, а затем удаляю.
public class AppLifecycleManager extends Application implements DefaultLifecycleObserver {
private static final String PREFS_NAME = "AppPrefs";
private static final String KEY_APP_STATE = "app_state"; // Save app state
private SharedPreferences sharedPreferences;
@Override
public void onCreate() {
super.onCreate();
// Initialize SharedPreferences
sharedPreferences = getSharedPreferences(PREFS_NAME, Context.MODE_PRIVATE);
// Register this class as a lifecycle observer
ProcessLifecycleOwner.get().getLifecycle().addObserver(this);
}
// Called when the app enters the foreground
@Override
public void onStart(LifecycleOwner owner) {
super.onStart(owner);
saveAppState(true); // App is in the foreground
}
// Called when the app enters the background
@Override
public void onStop(LifecycleOwner owner) {
super.onStop(owner);
saveAppState(false); // App is in the background
}
// Save the app's state (foreground or background) in SharedPreferences
private void saveAppState(boolean isForeground) {
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putBoolean(KEY_APP_STATE, isForeground);
editor.apply();
}
// Get the saved app state (foreground or background)
public boolean isAppInForeground() {
return sharedPreferences.getBoolean(KEY_APP_STATE, false); // Default to false (background)
}
}
Подробнее здесь: https://stackoverflow.com/questions/792 ... ecent-apps
ProcessLifecycleOwner не вызывает onStop(), приложение удалено из последних приложений (пауза/обзор) ⇐ Android
Форум для тех, кто программирует под Android
1733022325
Anonymous
Я использую ProcessLifecycleOwner для отслеживания событий жизненного цикла моего приложения, в частности для определения того, когда оно переходит на передний план или на задний план. Однако я заметил, что метод onStop() в моем DefaultLifecycleObserver не вызывается, когда я удаляю приложение из списка последних приложений.
Он работает, когда я нажимаю кнопку «Назад». Он не вызывается. Когда я нахожусь в приложении, нажимаю кнопку паузы/обзора, чтобы приостановить работу последних приложений, а затем удаляю.
public class AppLifecycleManager extends Application implements DefaultLifecycleObserver {
private static final String PREFS_NAME = "AppPrefs";
private static final String KEY_APP_STATE = "app_state"; // Save app state
private SharedPreferences sharedPreferences;
@Override
public void onCreate() {
super.onCreate();
// Initialize SharedPreferences
sharedPreferences = getSharedPreferences(PREFS_NAME, Context.MODE_PRIVATE);
// Register this class as a lifecycle observer
ProcessLifecycleOwner.get().getLifecycle().addObserver(this);
}
// Called when the app enters the foreground
@Override
public void onStart(LifecycleOwner owner) {
super.onStart(owner);
saveAppState(true); // App is in the foreground
}
// Called when the app enters the background
@Override
public void onStop(LifecycleOwner owner) {
super.onStop(owner);
saveAppState(false); // App is in the background
}
// Save the app's state (foreground or background) in SharedPreferences
private void saveAppState(boolean isForeground) {
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putBoolean(KEY_APP_STATE, isForeground);
editor.apply();
}
// Get the saved app state (foreground or background)
public boolean isAppInForeground() {
return sharedPreferences.getBoolean(KEY_APP_STATE, false); // Default to false (background)
}
}
Подробнее здесь: [url]https://stackoverflow.com/questions/79240835/processlifecycleowner-not-calling-onstop-the-app-is-removed-from-recent-apps[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия