tutorial studio programar programacion libros libro español desde desarrollar cero aprende aplicaciones android android-activity

studio - programacion android pdf 2018



Entender qué actividad comienza primero en una aplicación de Android (3)

Estoy totalmente confundido. Esto parece ir en contra de lo que Google dice que solo se supone que es uno.

No es ir en contra. Estas actividades tienen la categoría CATEGORY_DEFAULT , pero no CATEGORY_LAUNCHER.

No me queda claro cómo determina Android qué actividad comienza primero cuando se inicia una aplicación. La documentación de Android indica lo siguiente sobre el archivo AndroidManifest.xml sobre Activities :

"Solo una actividad debe tener la acción" principal "y la categoría" iniciador "..."

Por lo tanto, en el archivo AndroidManifest.xml, esencialmente debería tener solo uno:

acción android: nombre = "android.intent.action.MAIN"

categoría android: name = "android.intent.category.DEFAULT"

Sin embargo, mientras observa el código de muestra del SDK de Android, la aplicación llamada "APIDemos" contiene un archivo de manifiesto con toneladas de

"android.intent.action.MAIN" y "android.intent.category.DEFAULT"

Estoy totalmente confundido. Esto parece ir en contra de lo que Google dice que solo se supone que es uno. ¿Android simplemente toma cualquiera que aparezca primero en el manifiesto e ignora a todos los demás? Si no, ¿por qué hay varios PRINCIPALES y PREDETERMINADOS?


Muy a menudo, las actividades deberán ser compatibles con CATEGORY_DEFAULT para que Context.startActivity () pueda encontrarlas. Entonces, CATEGORY_DEFAULT puede aparecer varias veces.

Android no captura el que aparece primero en el manifiesto, pero comienza con la actividad que tiene CATEGORY_LAUNCHER.

CATEGORY_LAUNCHER: La actividad puede ser la actividad inicial de una tarea y se enumera en el iniciador de aplicaciones de nivel superior.

Para obtener más información, consulte: http://developer.android.com/guide/topics/intents/intents-filters.html


action.MAIN y category.LAUNCHER son los que se utilizan para especificar qué actividad se inicia cuando el usuario presiona el ícono de su aplicación o lo selecciona de la lista de aplicaciones en ejecución.

Puede usar otras combinaciones de acciones y categoría.DEFAULT para responder a diferentes eventos, pero la combinación de acción.MAIN y categoría.LAUNCHER solo debe definirse una vez.