почему кнопка меню в эмуляторе показывает все действия моего приложения? - PullRequest
3 голосов
/ 07 февраля 2011

Я просто хочу, чтобы в главном меню отображалось только одно действие, а остальные - скрывалось.

Мой файл манифеста выглядит примерно так.

<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>

Ответы [ 2 ]

6 голосов
/ 07 февраля 2011

Вам не нужно повторять эти строки для всех действий;

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

Только для основного

(в качестве дополнения к вашим комментариям вопрос:

От: http://developer.android.com/guide/topics/manifest/manifest-intro.html

Значок и метка для намерения фильтр используются для представления компонент всякий раз, когда компонент представлен пользователю как выполняющий функция, объявленная фильтром. Например, фильтр с "android.intent.action.MAIN" и "Android.intent.category.LAUNCHER" настройки рекламируют активность как единое целое который инициирует приложение - это как тот, который должен отображаться в средство запуска приложений. Значок и поэтому набор меток в фильтре те, что отображаются в лаунчере.

1 голос
/ 08 февраля 2011

Ну, это всего лишь предположение, но у вас есть 2 фильтра намерений в вашем манифесте.Если вам нужна только одна активность для вашей точки входа, вам нужен только фильтр с одним намерением для MAIN и LAUNCHER.

...