当前位置:   article > 正文

android 让应用恢复前台显示_Android将后台应用唤起到前台的方法

android 12 app回到前台

Android将后台应用唤起到前台的方法 应用场景 推送

击通知栏,进入对应页面

1 应用在前台,点击通知,直接执行跳转操作;

2 应用在后台,将后台进程唤起到前台,执行跳转操作;

3 应用没有启动,启动应用,执行跳转操作;

4 应用在后台被回收,恢复应用,然执行跳转操作。

目前以下几种方式能够实现上述效果:

1 通过设置Intent的flag,代码如下:

Intent intent = new Intent(this, MainActivity.class);

intent.addCategory(Intent.CATEGORY_LAUNCHER);

intent.setAction(Intent.ACTION_MAIN);

intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);

2 通过ActivityManager获取RunningTasks,如果存在该应用对应的task,则通过

ActivityManager的moveTaskToFront(rti.id, ActivityManager.MOVE_TASK_WITH_HOME);方法将应用唤起到前台,

然后处理相关操作;如果没有相关的task,则直接启动应用即可;

此方法存在的问题是,如果结合Notification使用时,用户点击Notification的时机是不确定的,只能通过广播处理,会比较麻烦;

3 将应用中的MainActivity设置为singleTask,这样点击通知时,如果Activity存在,则会将应用唤起到前台,如果不存在则会创建

新的Activity,

此方法存在的问题是,从Notification跳转,会直接显示MainActivity,跳过launch页,另外,如果MainActivity设置为singleTask之后

再次跳转到MainActivity,那么MainActivity之上已经存在的Activity会被清空,这样用户的操作行为会丢失

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/144748
推荐阅读