如何将我的Activity设置为android中的主要活动?

Sat*_*ish 43 android android-manifest main-activity android-activity

我想创建自己的活动作为主要活动,而不是使用默认MainActivity.

如何在android清单中定义它?

Nar*_*gis 65

在清单文件中,使用以下代码将活动声明为启动器活动:

<activity android:name=".yourActivityName" >
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>
Run Code Online (Sandbox Code Playgroud)

来自Android Developer docs:

ACTION_MAIN活动:作为任务的初始活动启动,没有数据输入且没有返回的输出.

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


小智 14

在应用程序标记内的AndroidManifest.xml文件中添加活动标记,并从默认的旧活动标记集中删除操作MAIN

 <application...... >
    <activity
        android:name=".DefaultActivity"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.DEFAULT" />
        </intent-filter>
    </activity>
    <activity
        android:name=".NewActivity"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

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

 </application>
Run Code Online (Sandbox Code Playgroud)


小智 6

您可以在清单文件中使用:

<activity
    android:name=".DefaultActivity"
    android:label="@string/app_name" >
    <intent-filter>
        <action android:name="android.intent.action.DEFAULT" />
    </intent-filter>
</activity>
<activity
    android:name=".NewActivity"
    android:label="@string/app_name" >
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity> 
Run Code Online (Sandbox Code Playgroud)

这是非常重要的:

<intent-filter>
    <action android:name="android.intent.action.MAIN" />
    <category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
Run Code Online (Sandbox Code Playgroud)