Intent Flag的一些东西。
程序员文章站
2024-02-21 08:49:28
...
使用下面的代码可以做到跟点击app应用图标一样的效果,(如果在后台 就带到前台, 如果没有就打开新的app)
http://www.cnblogs.com/SteveMing/archive/2012/04/24/2459575.html
http://developer.android.com/guide/components/tasks-and-back-stack.html
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
上一篇: 共同创业