如何以正确的方式向manifest.xml添加Activity?

时间:2014-01-01 15:37:10

标签: android android-activity android-manifest

我应该在android清单中编写每个活动吗?每个活动必须有意图过滤吗?

6 个答案:

答案 0 :(得分:28)

在Manifest文件中添加活动的多种方法。

意图过滤器不是所有活动的必要标记,它是可选的。

在清单中的应用程序标记中添加活动:

 <!-- Main Activity-->
    <activity android:name=".YourActivityName" >
        <intent-filter>
      <!-- MAIN represents that it is the Main Activity-->
            <action android:name="android.intent.action.MAIN" />
      <!-- Launcher Denotes that it will be the first launching activity-->
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
 <!--Add Other activities like this-->
    <activity android:name=".YourActivityName2" >
 <!--Default Intent Filter-->
        <intent-filter>
            <action android:name="android.intent.action.DEFAULT" />
        </intent-filter>
    </activity>
 <!--OR Other activities like this And  intent filter is not necessary in other activites-->
    <activity android:name=".YourActivityName3" >
    </activity>
 <!--OR Add Other activities like this-->
    <activity android:name=".YourActivityName4" />

答案 1 :(得分:3)

你必须提及android清单中的每个活动。

并非所有活动都需要意图过滤。 intent过滤器显示何时启动此活动。 通常,您将拥有一个带有intent过滤器的活动,以表明它是启动应用程序时的第一个活动。

清单中的应用内标记:

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

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

答案 2 :(得分:3)

必须在

内提及一项活动
<activity>
    ...
</activity> 

标签。每个活动标签都必须在

内部指定
<application>
    ...
</application> 

标签。

默认活动必须具有

<intent-filter>
    ...
</intent-filter>

标签,它将使android系统了解该活动将在应用启动时被调用。

A可以包含多个属性,但是只有name属性是必需的。

以下为完整列表:https://developer.android.com/guide/topics/manifest/activity-element

默认活动代码:

<activity
        android:name=".LoginActivity"
        android:windowSoftInputMode="adjustResize">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

其他活动标签:

    <activity
        android:name=".SelectSubjectActivity"
        android:windowSoftInputMode="adjustResize" />

答案 3 :(得分:1)

只需要android:name="ActivtyName"

答案 4 :(得分:1)

如果您正在使用Eclipse ADT,那么在创建新的Activity而不是创建类时,请从New&gt;创建一个Activity。其他......这样ADT会自动将您的活动添加到Manifest。

答案 5 :(得分:-1)

您必须在清单中为每个活动编写条目,并且不需要任何意图过滤器。你可以写下这个:

 <activity
            android:name="com.example.chatter.List"
            android:label="@string/title_activity_list" >
        </activity>