舒服的判斷當前應用是否處於前臺
這個需求很多時候都會用到,網上也有很多的解決方法
比如這樣 5.0以上
這個思路是把手機上現在所有的程式列出來,在從這個list中遍歷,看當前前臺程式是不是自己這個程式
這是一種辦法,但其實通過對activity生命週期的管理都可以解決這個問題。
我們可以知道一個app,在同一時間只可能有最多1個activity在前臺,我們就可以定義一個全域性的變數count
在onstart()中加1,在onStop()中減1.(當count等於0時程式就在後臺)為什麼是onstart和onstop
onstart表示activity已經建立,正在啟動,即將互動。
onstop表明當前activity被停止了,比如被全屏遮住,或者home。或者返回都會呼叫。
這樣的辦法可以解決,但還是有點麻煩,因為有太多activity了。不可能一一註冊。
那就想到系統會不會提供了這樣的方法。
查詢之後真的有這樣的方法。這個方法是屬於Application的registerActivityLifecycleCallbacks
需要判斷是否處於前臺時,只需要判斷當前count是否為0,為0即是在後臺。
相關文章
- 判斷當前應用程式處於前臺還是後臺 ANDROIDAndroid
- Android 用ping的方法判斷當前網路是否可用Android
- Android 判斷當前的介面是否是桌面的方法Android
- javascript如何判斷當前瀏覽器是否支援cookieJavaScript瀏覽器Cookie
- Python判斷當前使用者是否是rootPython
- 用程式碼判斷當前系統是否支援某個版本的feature
- 判斷Android 當前版本是否為debug版本Android
- Android判斷當前裝置是否設定了代理Android
- 如何判斷當前瀏覽器是否支援html5瀏覽器HTML
- 判斷當前viewcontroller是否是某個特定類ViewController
- 應用層和驅動如何判斷當前的啟動模式模式
- Flutter 如何判斷 Widget 位於前臺Flutter
- 判斷當前使用者是否為系統管理員的例項
- js如何判斷當前瀏覽器是否是谷歌瀏覽器JS瀏覽器谷歌
- 帝國CMS利用PHP判斷當前頁面是否為首頁PHP
- 如何在CRM和C4C中用程式碼判斷當前是否處於configuration模式模式
- js實現的判斷當前瀏覽器是否flash程式碼例項JS瀏覽器
- 直播平臺軟體開發,判斷當前時間是否在規定時間內
- android判斷當前系統的語言Android
- Android檢測網路狀態,判斷當前網路是否可用Android
- js 怎樣判斷使用者是否在瀏覽當前頁面JS
- Android 判斷當前系統語言Android
- 如何通過Java程式碼判斷當前的環境是否支援JRE 9Java
- 如何判斷當前瀏覽器是否支援html5的video標籤瀏覽器HTMLIDE
- 而井教你判斷當前Javascript執行環境是否支援async函式JavaScript函式
- vue透過自定義指令判斷當前元素是否在可視區域Vue
- Android判斷當前棧頂Activity的包名Android
- JS判斷當前裝置是 PC IOS AndriodJSiOS
- jQuery判斷當前元素是第幾個元素jQuery
- Android 判斷當前執行緒是否是主執行緒的兩種方法Android執行緒
- 在Linux下判斷系統當前是否開啟了超執行緒Linux執行緒
- 資料庫之建立表前的判斷處理資料庫
- Middleware 判斷當前是否手機端瀏覽器,並跳轉到手機端的介面瀏覽器
- JavaScript判斷當前裝置和瀏覽器型別JavaScript瀏覽器型別
- 判斷當前瀏覽器是不是微信瀏覽器瀏覽器
- 當前時間是否大於某個時刻
- 【Android】使用ConnectivityManager與NetworkInfo實現判斷當前網路環境是否可用Android
- JS在瀏覽器中判斷當前網路狀態JS瀏覽器