Android是在AndroidManifest.xml上还是在onCreate()方法上启动的?

时间:2016-03-19 19:41:06

标签: android

我是Android的新手,也是我在这个网站上的第一个问题,所以如果弄错了,请告诉我。 有些教程说,我很困惑

<intent-filter>

    <action android:name="android.intent.action.MAIN" />

    <category android:name="android.intent.category.LAUNCHER" />

</intent-filter>

这是该计划的开始。

其他人说当用户点击

时,程序从onCreate()方法开始 在主屏幕上的

app图标中调用onCreate()方法。我想onCreate

这里的

方法就像启动图标的监听器一样。

我的问题

1)如果onCreate首先调用了什么是使用MAIN和LAUNCHER?`

2)如果MAIN和LAUNCHER是打电话给onCreate mehtod的起点?

我的问题不是重复this question我的问题是谁是android程序的起点,如果它是.MAIN谁调用onCreate()方法?

1 个答案:

答案 0 :(得分:2)

的意图过滤器
<action android:name="android.intent.action.MAIN" />

表示活动是作为您应用的主要方法而创建的#34;。我相信你只能宣布其中一个。

另一个意图过滤器

<category android:name="android.intent.category.LAUNCHER" />

告诉启动器在应用程序抽屉,主屏幕等中显示带有android:label属性名称的图标。您可以在清单中将多个这些内容直接转到其他活动。

要回答您的问题,onCreate并不是活动的起点。活动按Android Lifecycle的顺序运行,因此onCreate不会首先调用&#34;。这是您第一次有机会致电setContentView()来扩充您的布局。

至于谁或什么启动Activity,您,用户,单击应用程序图标,Launcher会向您的应用程序发送android.intent.action.MAIN Intent,Manifest将会看到并启动相应的Activity。