2011-11-13 7 views
15

Soy nuevo en el desarrollo de Android. He visto muchos tutoriales donde solo tienen android.intent.action.MAIN que es básicamente una actividad de inicio de la aplicación.Múltiple android.intent.action.MAIN en archivo xml de mainfest

Pero, en las demos de la aplicación para Android, he visto varias declaraciones android.intent.action.MAIN en mainfest.xml. ¿Alguien puede explicar por qué el mainfest.xml tiene múltiples declaraciones android.intent.action.MAIN?

Y, ¿en qué escenarios se supone que tenemos múltiples MAIN s en manifest.xml?

Respuesta

20

Son puntos de entrada diferentes en el programa. Por ejemplo, acabo de crear dos actividades, las cuales tuvieron la intención de filtro típico

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

Resulta que mi pantalla de lanzador ahora con dos iconos diferentes para el mismo programa, una para cada actividad diferente. Esto tiene sentido, ya que el filtro de intención MAIN/LAUNCHER básicamente le dice a Android que la actividad es la actividad inicial de la aplicación. Nada en el modelo de filtro de intención de Android obliga a cada aplicación a tener una y única actividad de inicio.

+7

Creo que solo el filtro de intención 'PRINCIPAL' es el que permite que la actividad comience como actividad de la aplicación. Si omite el del 'LAUNCHER', no se creará ningún ícono. Al menos esto es lo que observo en mi dispositivo de prueba. – chakrit