android.intent.action.MAIN与android.intent.category

来源:互联网 发布:淘宝首页文字字体 编辑:程序博客网 时间:2024/05/18 09:19

(转)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是否能被直接从外部调用(猜想)

 

各位可以自己去实验。同时欢迎各位对我的猜想进行指正。

我现在很想做一个注释评论系统,用于指出错误。网络上文章的错误实在是太多了。


原创粉丝点击