`
dengyin2000
  • 浏览: 1208154 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Intent Flag的一些东西。

阅读更多
使用下面的代码可以做到跟点击app应用图标一样的效果,(如果在后台 就带到前台, 如果没有就打开新的app)

Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_LAUNCHER);
intent.setClass(this, Main.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK|Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);


引用
除了 setClass 可以换成使用 setClassName 绑定,FLAG_ACTIVITY_RESET_TASK_IF_NEEDED可以不设,其他的选项都缺一不可。设置ACTION_MAIN与CATEGORY_LAUNCHER是把该Intent发给了系统对应创建程序的模块,然后系统该模块根据设定的包与类信息还有flags进行处理。当然所有的Intent工作原理都是这样,只是对 ACTION_MAIN - CATEGORY_LAUNCHAR 的处理较为特殊,使得总是显示Task栈顶的Activity而不是setClass设定的Activity类。


http://www.cnblogs.com/SteveMing/archive/2012/04/24/2459575.html

http://developer.android.com/guide/components/tasks-and-back-stack.html
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics