Перш за все: я абсолютно новачок
Мені потрібно виконати певний код при виході мого додатка (так, я не знаю такого в Android), і це добре працює для мене:
-У мене є MyApplication, який розширює додаток. Як член MyApplication існує поле AtomicInteger з назвою activeActivitiesNumber та метод загального отримання.
-Усі додаткові дії розширюють MyActivy (що саме поширює Діяльність)
-MyActivity замінює методи методів Create, onResume та onStop, а також має захищене поле: Protected MyAppication mAppState;
a) OnCreate(){
super.onCreate();
mAppState=this.getApplication();...}
b) onResume(){
super.OnResume();
myAppState.getactiveActivitiesNumber().addAndGet(1)
....}
c) onStop(){
super.onStop()
if (myAppStatemyAppState.getactiveActivitiesNumber()..decrementAndGet()<1){
...call exiting code (for instance a public method defined in MyApplication}
}
У нього є проблема: якщо ви починаєте будь-яку діяльність, яка не належить до вашої програми (наприклад, надішліть електронне повідомлення), він вимкне метод виходу.
Інша проблема (не знаю, чи справжня вона теоретична або теоретична) полягає в тому, що немає гарантії, що в деяких ситуаціях буде викликаний загар.
Сподіваюся, це допоможе.
Activity
абоService