为什么模拟器中的菜单按钮显示我的应用程序的所有活动?

hsb*_*owd 3 android menu emulation android-activity

我只是希望它在主菜单上只显示一个活动并隐藏其余活动.

我的清单文件看起来像这样.

<application android:icon="@drawable/icon" android:label="@string/app_name"
    android:debuggable="true">
    <activity android:name=".MainAct" android:label="@string/app_name">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity android:name=".StartGame" android:label="@string/app_name">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity android:name=".Instructions" android:label="@string/app_name">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity android:name=".About" 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)

Nan*_*nne 6

您不需要为所有活动重复这些行;

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

只为主要的一个

(作为评论问题的广告:

来自:http://developer.android.com/guide/topics/manifest/manifest-intro.html

每当组件被呈现给用户时,用于意图过滤器的图标和标签集用于表示组件,以满足过滤器通告的功能.例如,具有"android.intent.action.MAIN"和"android.intent.category.LAUNCHER"设置的过滤器将活动通告为启动应用程序的活动 - 即应该在应用程序启动器中显示的活动.因此,过滤器中设置的图标和标签是启动器中显示的图标和标签.