Pregunta

Al instalar mi aplicación en un dispositivo o emulador que aparece varias veces en el menú de aplicaciones, en mi caso tengo 4 iconos que muestran mi nombre de la aplicación.

Parece que cada icono representa una actividad, y ya que mi aplicación contiene 3 pestañas (con actividades) los 3 primeros iconos en mi menú de ir a una actividad en particular, y el cuarto icono me lleva a la propia aplicación

Esta es mi manifiesto

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="com.jameselsey"
      android:versionCode="1"
      android:versionName="1.0">

    <uses-sdk android:minSdkVersion="7" />  
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission>
    <uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS"></uses-permission>
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"></uses-permission>    
    <uses-permission android:name="android.permission.GET_ACCOUNTS" />
    <uses-permission android:name="android.permission.READ_CONTACTS" />
    <uses-permission android:name="android.permission.WRITE_CONTACTS" />

    <application    android:icon="@drawable/icon" 
                    android:label="@string/app_name" 
                    android:name="com.jameselsey.domain.GlobalState"
                    android:theme="@android:style/Theme.NoTitleBar">

        <activity android:name=".DefaultActivity"
                  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=".MyContactsActivity"
                  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=".MyMapsActivity"
                  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=".OptionsActivity"
                  android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

        <uses-library android:name="com.google.android.maps" />
    </application>    
</manifest> 

¿Qué puedo hacer yo sólo para tener un icono para mi aplicación en mi dispositivo y no 4?

Gracias

¿Fue útil?

Solución

La respuesta ya ha sido proporcionado, pero sólo estoy informando a ella. En Java la aplicación se iniciará con la clase que contiene la principal método y que básicamente será un solo punto a toda la aplicación de entrada.

En Android que podría haber dado cuenta de que no existe un método principal dentro de su clase de actividad. Aquí se utiliza el archivo de manifiesto a hacer lo mismo. Una aplicación puede tener múltiples puntos de entrada y "android.intent.action.MAIN" indica que esta actividad debe ser la actividad principal de partida y la categoría LAUNCHER dice que este punto de entrada debe aparecer en el lanzador de aplicaciones. Una vez que realice una actividad como LAUNCHER Android proporciona un icono de aplicación y el nombre a la misma y que debe haber notado que al hacer clic en cada uno de los 4 iconos en el caso de que se tardaría en 4 actividades diferentes.

La conclusión es que si nuestra aplicación no requiere múltiples puntos de entrada que no tiene que usarlo.

Otros consejos

Debido a que tiene 4 actividades con

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

Esto añade un icono de inicio de su actividad.

Eliminar intent-filter de los últimos 3 actividades

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top