Android应用程序的第一个活动如何推出?

时间:2013-11-22 05:44:43

标签: android

当我们使用ADT创建一个helloworld应用程序时,将加载“MainActivity”,因为每个程序都有一个条目,例如“main”函数,对于Android应用程序,我们可以在名为“AndroidManifest”的文件中声明许多活动.xml“,所以我想知道android框架如何启动这个活动?这是Android应用程序“主要”条目?

4 个答案:

答案 0 :(得分:2)

Manifest告诉android启动哪个活动。实际上,当您单击应用程序图标时,操作系统会查询应用程序的清单文件并查找启动程序活动。您可以将任何活动声明为您的启动器,方法是将其写入清单中的活动标记内。

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

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

Manifest始终充当应用程序和操作系统之间的接口。它向操作系统提供有关您的应用程序的所有信息,例如权限,活动,您在应用程序中使用的接收器,包括启动器活动。

答案 1 :(得分:0)

因为这个

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

答案 2 :(得分:0)

使用intent filter

声明的活动
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />

将首先推出。

<activity
        android:name="com.example.hello.HelloActivity"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

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

答案 3 :(得分:0)

只有一个活动应该有“主要”操作和“启动器”类别......

所以在AndroidManifest.xml文件中,你应该只有一个:

action android:name="android.intent.action.MAIN"

category android:name="android.intent.category.DEFAULT"

活动通常需要支持CATEGORY_DEFAULT,以便Context.startActivity()找到它们。因此,CATEGORY_DEFAULT可以出现多次。

Android不会抓住清单中首先出现的那个,但它会从具有CATEGORY_LAUNCHER的活动开始。

CATEGORY_LAUNCHER:活动可以是任务的初始活动,并列在顶级应用程序启动器中。