android后台唤起activity,Android将后台应用唤起到前台的方法

Android将后台应用唤起到前台的方法-

http://www.voidcn.com/article/p-trmiiexn-my.html 在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会被清空,这样用户的操作行为会丢失。 每种方式都存在各自的优缺点,需要根据实际需求选取


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部