[英]how to know when the application comes to foreground in android
我正在開發一個Android應用,其中我已經使用tabhost來顯示標簽欄
在每個選項卡中,我托管了FragmentActivity,而FragmentActivity又托管了不同的片段
我正在通過網絡呼叫從服務器獲取數據,並且在發送每個呼叫時,我必須發送身份驗證令牌(為此我首先進行登錄呼叫),身份驗證令牌在30分鍾后自動失效。
現在的問題是,如果用戶在應用程序中間時按下主頁按鈕,則該應用程序進入后台,並且如果用戶再次啟動該應用程序(即,將其置於前台(例如30分鍾或更長時間)),同時認證令牌過期,則網絡通話失敗。
我怎么知道我的應用程序何時出現在前台?
我已經用Google搜索這個問題,而我現在要解決的解決方案是
兩種方法都不適合我............在我的應用中間,真的需要幫助
使用以下代碼:
ActivityManager activityManager = (ActivityManager) appContext.getSystemService(Context.ACTIVITY_SERVICE);
List<RunningTaskInfo> services = activityManager
.getRunningTasks(Integer.MAX_VALUE);
boolean isActivityFound = false;
if (services.get(0).topActivity.getPackageName().toString()
.equalsIgnoreCase(appContext.getPackageName().toString())) {
// Your activity is in foreground, do what you've got to do..
}
您需要許可:
<uses-permission android:name="android.permission.GET_TASKS" />
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.