Domanda

Al momento dell'installazione applicazione su un dispositivo o un emulatore che appare più volte nel menu applicazioni, nel mio caso ho 4 icone che mostrano il mio nome dell'applicazione.

Sembra che ogni icona è che rappresenta un'attività, e dal momento che la mia applicazione contiene 3 schede (con attività) i primi 3 icone sul mio menu Vai per una particolare attività, e l'icona del 4 ° mi porta l'applicazione stessa

Questo è il mio manifesto

<?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> 

Che cosa posso fare per avere una sola icona per la mia app sul mio dispositivo e non 4?

Grazie

È stato utile?

Soluzione

La risposta è già stata fornita, ma io sono solo il briefing di esso. In Java l'applicazione si avvierà con la classe che contiene il principale metodo e che sarà essenzialmente un singola ingresso punto l'intera applicazione.

In Android potreste aver notato che non esiste un metodo principale all'interno la classe di attività. Qui usiamo il file manifesto di fare lo stesso. Un'applicazione può avere più punti di ingresso e "android.intent.action.MAIN" indica che questa attività dovrebbe essere l'attività principale di partenza e la categoria LAUNCHER dice che questo punto di ingresso dovrebbe essere elencato nel programma di avvio dell'applicazione. Una volta che si effettua un'attività di LAUNCHER Android fornisce l'icona di un'applicazione e il nome ad esso e si deve aver notato che cliccando su ciascuna delle 4 icone nel tuo caso si dovrebbe prendere a 4 diverse attività.

La linea di fondo è se la nostra applicazione non richiede più punti di ingresso non devi usarlo.

Altri suggerimenti

Perché avete 4 attività con

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

che aggiunge un'icona di avvio per la vostra attività.

Rimuovi intent-filter degli ultimi 3 attività

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top