android.intent.action.MAIN
significa que esta actividad es el punto de entrada de la aplicación, es decir, cuando inicia la aplicación, se crea esta actividad.
De los documentos
ACTION_MAIN with category CATEGORY_HOME
Además, desde aquí
Actividad Acción Iniciar como punto de entrada principal, no espera recibir datos.
android.intent.category.DEFAULT se usa principalmente para intenciones implícitas. Si su actividad desea iniciarse con una intención implícita, debe incluir esta categoría en su filtro. Si su actividad puede iniciarse con una intención implícita cuando no se le asigna una categoría específica, su filtro de intención debe incluir esta categoría.
android.intent.category.LAUNCHER
categoría: proporciona información adicional sobre la acción a ejecutar.
CATEGORY_LAUNCHER
significa que debería aparecer en el Lanzador como una aplicación de nivel superior
Ver los documentos.
- http://developer.android.com/reference/android/content/Intent.html
- http://developer.android.com/guide/topics/manifest/action-element.html
MAIN
sí solo no "iniciará la actividad en casa".MAIN
tiene muchos usos.ACTION_MAIN
se considera un punto de entrada para la aplicación. Por lo general, se combina conCATEGORY_LAUNCHER
in an<intent-filter>
para indicar una actividad que debería aparecer en el lanzador de la pantalla de inicio, o en cualquier otra cosa que se considere un lanzador. Dichos "lanzadores" pueden consultarPackageManager
, usarqueryIntentActivities()
, para encontrar tales actividades y mostrarlas al usuario.Sin embargo,
ACTION_MAIN
se puede utilizar en combinación con otras categorías para otros fines especializados. Por ejemplo,CATEGORY_CAR_DOCK
conACTION_MAIN
indica una actividad que debería considerarse candidata a mostrarse cuando el usuario deja caer su teléfono en una base para automóvil proporcionada por el fabricante.Cuando
Intent
se usa constartActivity()
, si aúnIntent
no se ha colocado en una categoría, se coloca enCATEGORY_DEFAULT
. Por lo tanto, an<activity>
<intent-filter>
necesita especificar algunos<category>
, al menos usando<category android:name="android.intent.category.DEFAULT" />
nada más.fuente
ACTION_MAIN
que no implica un lanzador de estilo de pantalla de inicio.<intent-filter>
tanto con<action android:name="android.intent.action.MAIN" />
y<category android:name="android.intent.category.LAUNCHER" />
.finish()
inmediato, pero los usuarios pensarán que su aplicación no funciona.<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER" />
<category android:name="android.intent.category.DEFAULT" />
Por lo general, solo agregue
android.intent.category.DEFAULT
incluso si tiene otras categorías. Esto garantizará que si Requesting Intent no proporciona ninguna categoría al iniciar el uso de intentstartActivity(intent)
, su Actividad de recepción también puede recibir esos Intents.Fuente: The Busy Coders Guide to Android Development
https://commonsware.com/Android/
fuente