Android: cómo se inicia una actividad cuando se inicia la aplicación

He pegado el código de mi Androidmanifest.xml, ¿cómo decide Android qué actividad se inicia cuando se inicia la aplicación? En este caso es la actividad principal. ¿Qué cambios debo hacer si deseo iniciar AnotherActivity cuando se inicie la aplicación?

<application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name="com.example.MainActivity" 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="com.example.AnotherActivity" 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> 

El elemento MAIN especifica que este es el punto de entrada "principal" de la aplicación. El elemento LAUNCHER especifica que esta actividad debe aparecer en el lanzador de aplicaciones del sistema (para permitir a los usuarios iniciar esta actividad).

 <activity android:name="com.example.MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> 

Sólo tienes que eliminar el filtro de intención de la siguiente actividad!

Cuando el usuario selecciona el icono de la aplicación en la pantalla de inicio, el sistema llama al método onCreate () para la Actividad de la aplicación que declaró ser la actividad "lanzador" (o "principal"). Esta es la actividad que sirve como punto de entrada principal a la interfaz de usuario de la aplicación.

Puede definir qué actividad utilizar como actividad principal en el archivo de manifiesto de Android, AndroidManifest.xml, que se encuentra en la raíz del directorio del proyecto.

La actividad principal de tu aplicación debe declararse en el manifiesto con una que incluya la acción PRINCIPAL y la categoría LANZADOR. Por ejemplo:

 <activity android:name=".MainActivity" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> 

Con base en esto, podemos concluir que actualmente tiene una configuración defectuosa. Sólo una actividad puede tener el filtro Intent para Main (por lo que debe quitar el <intent-filter> de su .MainActivity si desea utilizar AnotherActivity como actividad "Home").

  <activity android:name="com.example.AnotherActivity" 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="MainActivity" ></activity> 

Como se indica en nuestra conversación, desea mostrar una acción determinada en el lanzamiento, con funciones propias y diseño. La solución es usar una Activity que infle Fragment1 o Fragment2 , en base a su condición.

Tratar con Fragment es muy difícil, pero cuando lo dominarás, te divertirás. Hay pocos ejemplos en la red sobre Fragment , pero te digo esto: leer y practicar es la única manera de aprender algo. Copiar y pegar desde otro código fuente / ejemplo no le ayudará. Siga estos enlaces:

  • Enlace 1
  • Enlace 2 con la muestra
  • Enlace 3 para soportar tabletas

¡Buena suerte!

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.