Несколько android.intent.action.MAIN в файле mainfest xml

Я новичок в разработке Android. Я видел много учебников, в которых у них есть только android.intent.action.MAIN, который в основном является стартовой деятельностью приложения.

Но в демонстрациях приложений для Android я видел несколько операторов android.intent.action.MAIN в файле mainfest.xml. Может ли кто-нибудь объяснить, почему mainfest.xml имеет несколько операторов android.intent.action.MAIN?

И в каких сценариях мы должны иметь несколько MAIN в manifest.xml?

Ответы

Ответ 1

Они разные точки входа в программу. Например, я просто создал два действия, оба из которых имели типичный фильтр намерения

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

Оказывается, на моем экране запуска теперь есть два разных значка для одной и той же программы, по одному для каждой различной активности. Это имеет смысл, так как фильтр намерения MAIN/LAUNCHER по сути говорит андроиду, что активность - это активность запуска приложения. Ничто в модели фильтра намерений андроида не заставляет каждое приложение иметь один и только один запуск.