这是一个从后台返回前台需要验证手势密码中提取出来的代码
首先判断程序是否处于后台
/**
* 判断当前应用程序处于前台还是后台
*/
public static boolean isApplicationBroughtToBackground(final Context context) {
ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
List<ActivityManager.RunningTaskInfo> tasks = am.getRunningTasks(1);
if (!tasks.isEmpty()) {
ComponentName topActivity = tasks.get(0).topActivity;
if (!topActivity.getPackageName().equals(context.getPackageName())) {
return true;
}
}
return false;
}
在生命周期onStop()调用判断方法
boolean isBackState = isApplicationBroughtToBackground(this);
if (isBackState) {
HydApplication.getInstance().setShowLock(true);//保存全局变量
}else{
HydApplication.getInstance().setShowLock(false);//保存全局变量
}
在onStart()中处理逻辑判断
boolean isLock = HydApplication.getInstance().isShowLock();
if(isLock){
...........
}