Trước hết: Tôi là một người mới bắt đầu tuyệt đối
Tôi cần thực thi một số mã khi ứng dụng của tôi thoát (vâng, tôi không biết điều đó trong Android) và điều này hoạt động tốt đối với tôi:
-Tôi có MyApplication wich mở rộng Ứng dụng. Là một thành viên của MyApplication, có một trường AtomicInteger có tên là activeActiilitiesNumber và một phương thức getter công khai.
-Tất cả các hoạt động ứng dụng mở rộng MyActivy (chính nó mở rộng Hoạt động)
-MyActivity ghi đè các phương thức onCreate, onResume và onStop và cũng có một trường được bảo vệ: 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}
}
Nó có một vấn đề: nếu bạn bắt đầu bất kỳ hoạt động nào không thuộc về ứng dụng của bạn (ví dụ: gửi email), nó sẽ kích hoạt phương thức thoát.
Một vấn đề khác (không biết liệu nó có phải là một vấn đề thực tế hay không) là không có gì đảm bảo tan trong một số tình huống onStop sẽ được gọi.
Hy vọng điều này giúp đỡ.
Activity
hoặcService