如果活动经理使用intent-filter
和action=main
通过category=launcher
启动MainActivity,那么会使用哪种类型的意图?
答案 0 :(得分:2)
intent是要执行的操作的抽象描述。其最重要的用途是开展活动。
当用户点击应用程序图标时,android系统会在清单文件中查找意图
action="android.intent.action.MAIN"
和
category="android.intent.category.LAUNCHER".
MAIN操作是应用程序的主要入口点。
LAUNCHER类别表示它应作为顶级应用程序出现在Launcher中。
答案 1 :(得分:1)
意图只是关于意图的一条信息。意图不启动任何内容。它只是通知操作系统需要做某事(即启动应用程序)。系统会查找能够解决此问题的应用程序,启动它们并将它们设置为启动意图(因为您可以传递其中的一部分数据)。
当用户点击启动器中的应用程序图标时,启动器应用程序会生成并且意图启用操作系统(启动所需应用程序的显式名称)。 Android创建单独的DVM,主要活动类,通过调用onCreate()启动acrivity的生命周期,并将活动带到前台。
答案 2 :(得分:1)
当用户从主屏幕中选择您的应用图标时,系统会为您已声明为“启动器”(或“已启动”的应用中的活动调用 onCreate()方法主要活动。这是活动,作为应用用户界面的主要入口点。
您可以定义哪个活动用作Android清单文件中的主要活动, AndroidManifest.xml ,它位于项目目录的根目录。
您的应用的主要活动必须在清单中使用 intent-filter 进行声明,其中包含 MAIN 操作和LAUNCHER类别(您可能知道)。< / p>
如果组件没有任何意图过滤器,则它只能接收显式意图。具有过滤器的组件可以接收显式和隐式意图。
因此,愿意接收隐式意图的活动必须在其意图过滤器中包含“android.intent.category.DEFAULT”。具有“android.intent.action.MAIN”和“android.intent.category.LAUNCHER”设置的过滤器是例外。它们标记开始新任务的活动以及在启动器屏幕上显示的活动。它们可以在类别列表中包含“android.intent.category.DEFAULT”,但不需要。
有关详细信息,请参阅此链接: http://developer.android.com/guide/components/intents-filters.html