多個Activity時,檢測軟體到後台的方法

2022-03-11 05:30:59 字數 558 閱讀 3896

開發時經常會遇到這種情況:n多個activity,1個service,不管哪個activity在當前螢幕,程式都想監聽到自己切換到後台的事件。

這裡切換到後台包括使用者點選home鍵,其他應用強行啟動,比如來**。

想了幾個方法,優缺點如下:

想法一:

使用乙個布林值isbackground來判斷,當activity呼叫stop時,isbackground = true,當activity呼叫start時,isbackground = false。

本以為這樣就可以分辨出使用者是點選home鍵退出該activity,還是從這個activity跳到另乙個activity了,但是實際測試發現,當從act_1跳到act_2時,是先呼叫act_2裡的生命週期函式,然後才呼叫act_1的生命週期函式,悲劇了,這個方法行不通。

想法二:

最後終於想到了比較好的解決方法,使用全域性計數器,當activity呼叫start時,計數器+1,當activity呼叫stop時,計數器-1,這樣,如果計數器為0,就說明程式在後台執行,可以寫乙個baseactivity來統一管理計數器,其他activity繼承它就行了。

如何退出多個Activity

對於單一activity的應用來說,退出很簡單,直接finish 即可。當然,也可以用killprocess 和system.exit 這樣的方法。對於多個activity,1 記錄開啟的activity 每開啟乙個activity,就記錄下來。在需要退出時,關閉每乙個activity即可。2 傳送...

如何退出多個Activity

對於單一activity的應用來說,退出很簡單,直接finish 即可。當然,也可以用killprocess 和system.exit 這樣的方法。對於多個activity,1 記錄開啟的activity 每開啟乙個activity,就記錄下來。在需要退出時,關閉每乙個activity即可。2 傳送...

TabHost存放多個Activity

tabhost是android應用開發中非常常用的元件,他能起到類似web開發中選單導航的效果。基本概念 tabhost tabhost就像乙個容器,裡面可以存放多個tab。tabhost.addtab tabspec 此方法用於將tab新增到tabhost。tabspec 就是tab,這個類沒有對...