我正在开发一个Android应用程序,其中我使用tabhost作为tabbar
在每个标签中我都托管了FragmentActivity,而FragmentActivity又托管了不同的片段
我通过网络呼叫从服务器获取数据,并且在发送每个呼叫时,我将发送身份验证令牌(我首先进行登录呼叫),认证令牌在30分钟后自动过期。
现在的问题是,如果用户在应用程序中间按下主页按钮,应用程序将转到后台,如果用户再次启动应用程序,即将其带到前台(比如30分钟或更长时间),同时身份验证令牌过期然后网络呼叫失败....
我怎么知道我的应用程序什么时候来到前台????????
我已经用Google搜索了这个问题,我现在已经解决的解决方案是
这两种方法都不适合我............ 我的应用程序的中间,真的需要帮助
答案 0 :(得分:-1)
使用以下代码:
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" />