Android将后台应用唤起到前台的方法
来源:互联网 发布:pixlr软件下载 编辑:程序博客网 时间:2024/05/09 21:26
在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);
具体的细节还需要在确定,但是存在的一个问题是没有办法通过Intent传递参数;
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会被清空,这样用户的操作行为会丢失
每种方式都存在各自的优缺点,需要根据实际需求选取,如果有其它更好的方式,还望多多交流
- Android将后台应用唤起到前台的方法
- Android将后台应用唤起到前台的方法
- Android将后台应用唤起到前台的方法
- Android唤起后台应用到前台
- 将后台窗口激活到前台的方法
- 将后台窗口激活到前台的方法
- 将后台窗口激活到前台的方法
- 将后台窗口激活到前台的方法
- Android 应用监听后台切换前台的方法
- 收到通知时启动应用或将程序成后台恢复到前台的做法
- Struts2 中实现将后台查询到的list传到前台页面的方法
- android 监听后台到前台的切换
- 将后台数据显示到前台页面的方法springmvc+hibernate+spring
- 将后台运行的VMWare切换到前台
- 收到通知后启动应用或将应用从后台恢复到前台
- 将后台Activity移动到前台
- 将APP从后台显示到前台
- 将后台数据传到前台JSON应用
- 【网络流】:调查设计、航线调度、项目选择
- QListWidget动态刷新的问题和解决 #Qt Creator
- spring mvc使用@InitBinder 标签对表单数据绑定
- SQL取某个字段最大(小)数值及其相应行的其他字段值的句语
- 连接到facebook
- Android将后台应用唤起到前台的方法
- Scala框架选型
- HTML格式的字符串转成普通字符串
- iptables详解
- android ActionBar
- Windows 任务计划程序中的漏洞可能允许安全功能绕过
- PASSION之Nginx+Tomcat集群搭建(二)
- JAVA:基于ARCGIS二次开发可视化开发环境搭建
- //弹出选择查询窗