场景:
当应用隐藏在后台而没有关闭,通过本身的悬浮窗体来唤起。
方法:
通过ActivityManager获取RunningTasks,获取应用对应的task,再通过ActivityManager的moveTaskToFront()方法来把应用唤起到前台。
代码:
判断应用是否已经在前台了
public boolean IsForeground(Context context) {
ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
List<RunningTaskInfo> tasks = am.getRunningTasks(1);
if (tasks != null && !tasks.isEmpty()) {
ComponentName topActivity = tasks.get(0).topActivity;
if (topActivity.getPackageName().equals(context.getPackageName())) {
return true;
}
}
return false;
}
还要添加权限