我的应用程序包含锁定屏幕,当应用程序从后台带来时会出现。
我面临一个问题,特别是从 kitkat 4.4 开始。
当应用程序进入后台时,我正在检查应用程序是否在后台运行?在 onPause() 活动方法中,通过以下代码位于前台。
private boolean isApplicationBroughtToBackground()
{
ActivityManager am = (ActivityManager)getSystemService(Context.ACTIVITY_SERVICE);
List<RunningTaskInfo> tasks = am.getRunningTasks(1);
if (!tasks.isEmpty()) {
ComponentName topActivity = tasks.get(0).topActivity;
if (!topActivity.getPackageName().equals(getPackageName())) {
return true;
}
}
return false;
}
我在 onPause() 中调用上述方法,并根据返回值决定显示锁定屏幕。
根据我的观察,此方法在 4.4 操作系统以下返回 true,但在 4.4 时返回 false。
如果我在 onStop() 方法中进行调用,我在所有情况下都是正确的。
我想知道 kitkat 在活动生命周期的背景下发生了什么变化?
需要知道它在 kitkat 中表现不同的原因吗?