我在android中有一個問題。 如果我的活動類與外部庫進行交互。我正在處理的這個庫必須在應用程序進入後臺或返回前臺時執行一些進程。Android活動在背景中
有什麼方法可以知道應用程序何時進入後臺。
注:我不想在活動中做任何事情。我不想在調用onPause時發送回調函數庫。
感謝
我在android中有一個問題。 如果我的活動類與外部庫進行交互。我正在處理的這個庫必須在應用程序進入後臺或返回前臺時執行一些進程。Android活動在背景中
有什麼方法可以知道應用程序何時進入後臺。
注:我不想在活動中做任何事情。我不想在調用onPause時發送回調函數庫。
感謝
覆蓋的onPause活動的方法,在onPause被調用時,活動將BACKGROUD
如果我明白你的問題,你可以使用Application.registerActivityLifecycleCallbacks和實現自己的Application.ActivityLifecycleCallbacks。
喜歡的東西:
class myActivityLifecycleHandler implements ActivityLifecycleCallbacks{
// Methods implementation here
}
yourActivity.getApplication().registerActivityLifecycleCallbacks(new myActivityLifecycleHandler())
你可能在一些文件編寫應用程序時來到後臺。
然後你的圖書館可能會花時間檢查這個文件。
Application.registerActivityLifecycleCallbacks
確實是您想要使用的正確api。不幸的是它確實是API14 +,因此您有以下選項:
使用this library來實現activitylifecycle回調。您將不得不在您正在開發的應用程序中擴展您的活動,但是無論您需要的API14支持如何,都必須執行某些操作。
執行此庫後,您可以在回調中創建一個int
計數。每個活動的每個onStart()
和onStop()
回叫可以遞增和遞減此計數。 在應用程序打開時計數將從0到> 1,並在應用程序關閉/背景中從1到> 0。當這些條件滿足時,你可以打電話給你的圖書館。
請記住,當您爲應用程序創建背景時,操作系統可以在任何時候關閉它。如果您有任何數量的網絡或任何長時間,請啓動一項服務,儘快處理所有服務。
哦,請閱讀說明 – Developer