舒服的判斷當前應用是否處於前臺
這個需求很多時候都會用到,網上也有很多的解決方法
比如這樣 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即是在後臺。
相關文章
- 判斷Android 當前版本是否為debug版本Android
- 用程式碼判斷當前系統是否支援某個版本的feature
- Android判斷當前裝置是否設定了代理Android
- 如何在CRM和C4C中用程式碼判斷當前是否處於configuration模式模式
- Flutter 如何判斷 Widget 位於前臺Flutter
- 帝國CMS利用PHP判斷當前頁面是否為首頁PHP
- 如何通過Java程式碼判斷當前的環境是否支援JRE 9Java
- 直播平臺軟體開發,判斷當前時間是否在規定時間內
- js 怎樣判斷使用者是否在瀏覽當前頁面JS
- 而井教你判斷當前Javascript執行環境是否支援async函式JavaScript函式
- vue透過自定義指令判斷當前元素是否在可視區域Vue
- JS判斷當前裝置是 PC IOS AndriodJSiOS
- Middleware 判斷當前是否手機端瀏覽器,並跳轉到手機端的介面瀏覽器
- JavaScript判斷當前裝置和瀏覽器型別JavaScript瀏覽器型別
- 當前時間是否大於某個時刻
- JS在瀏覽器中判斷當前網路狀態JS瀏覽器
- 判斷當前瀏覽器是不是微信瀏覽器瀏覽器
- 如何應用Kaizen改進當前流程?AI
- 基於iPhone 上的運動協處理器M7判斷使用者當前的運動(姿態)型別iPhone型別
- 判斷當前訪問的使用者是 PC端 還是 手機端
- BAT批處理判斷服務是否正常執行(批處理命令綜合應用)BAT
- Java程式設計:通過獲取當前時間,判斷今天星期幾Java程式設計
- 判斷ABAP程式碼是否處於update模式下執行的工具類模式
- android檢視當前應用的的包名和activityAndroid
- 檢測當前瀏覽器是否支援cookie瀏覽器Cookie
- JS 檢測當前時間是否為夏令時JS
- WPF 前臺觸發器實時獲取當前時間觸發器
- 當前流行的J2EE WEB應用架構分析Web應用架構
- mumu模擬器 指定應用當前執行的 ABI 版本
- php 獲取當前域名和當前協議PHP協議
- if判斷和grep命令-w及搜尋前後行
- 直播平臺製作,JS判斷某個時間戳是否為當天時間JS時間戳
- 用js獲取當前月份的天數JS
- 輸入字串,判斷是否為迴文字串,即前後對稱的(單個字元,不帶空格)字串字元
- vue重新整理當前頁面或者當前元件Vue元件
- 基於機率判斷矩陣A*B是否等於C矩陣
- 當前低程式碼開發平臺給哪些應用程式開發提供支援
- golang中判斷兩個slice是否相等與判斷值下的 陣列是否相等Golang陣列
- bash函式應用之:判斷函式是否存在函式