(转)http://www.panlilu.com/archives/1270
最近对这个东西的作用有点兴趣,于是在网上搜索了一下,有一篇被转载了N遍的文章是这样说的:
一个应用程序可以有多个Activity,每个Activity是同级别的,那么在启动程序时,最先启动哪个Activity呢?有些程序可能需要显示在程序列表里,有些不需要。怎么定义呢?android.intent.action.MAIN决定应用程序最先启动的Activity android.intent.category.LAUNCHER决定应用程序是否显示在程序列表里
这个听上去挺有道理的,一开始我也被忽悠了。
然而实际上,这个是错的。
进过实验得出的结论:
去掉了android.intent.category.LAUNCHER,图标仍然在程序列表里
一个程序可以加很多的android.intent.action.MAIN
所以个人认为正确的说法是
android.intent.category.LAUNCHER 决定了点击程序列表的图标所启动的Activity
而android.intent.action.MAIN决定该Activity是否能被直接从外部调用(猜想)
各位可以自己去实验。同时欢迎各位对我的猜想进行指正。
我现在很想做一个注释评论系统,用于指出错误。网络上文章的错误实在是太多了。