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();