您的位置:首页 > 移动开发 > Android开发

Android唤起后台应用到前台

2016-07-05 09:55 489 查看
场景:

当应用隐藏在后台而没有关闭,通过本身的悬浮窗体来唤起。

方法:

通过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;
}

还要添加权限

<uses-permission android:name="android.permission.GET_TASKS"/>  

唤起应用

if(IsForeground(this) == false)
{
ActivityManager am = (ActivityManager) this.getSystemService(Context.ACTIVITY_SERVICE) ;
am.moveTaskToFront(getTaskId(), ActivityManager.MOVE_TASK_WITH_HOME);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: