通过Intent Flags ,从桌面返回到App最后Activity

extends:http://bbs.csdn.net/topics/350269396,http://blog.csdn.net/moreevan/article/details/6788048

 

最近接到一个需求: 在App中加入悬浮窗,App退回到桌面的适合,点击悬浮窗从桌面返回到App,但是悬浮窗是Server服务,从Server里启动Activity要

AddFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

 

但是这样相当于重启了一遍Activity,如果你的Activity是LaunchMode="singleInstance",那么就可以直接返回到目标Activity,但是在我的项目里,有要反复重启目标Activity的需求,所以,这个捷径我不可取,于是又普及了一下Flags及LaunchMode,最终通过Flags解决了问题,两个需求同时解决。:)

1.standard

2.singleTop

3.singleTask

4.singleInstance

下面放出解决方案,虽然饶了一个远,但是还是解决了,不知道看见博文的各位大神有没有别的更好的解决方案。有的话,请指教。

1.在Server里
                Intent service = new Intent();
                        service.setClass(FloatService.this, JumpFormFloatingActivity.class);
                        service.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                        startActivity(service);
2.在Activity返回最后一次Activity
//     Intent service = new Intent();
// service.setClass(JumpFormFloatingActivity.this, JumpFormFloatingActivity.class);
// service.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
// service.addFlags(Intent.FLAG_ACTIVITY_LAUNCHED_FROM_HISTORY);
// service.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
// startActivity(service);
finish();

 

posted @ 2015-08-12 09:50  n1rAy  阅读(901)  评论(0编辑  收藏  举报