Question

Quand j'installer mon application sur un périphérique ou un émulateur, il apparaît plusieurs fois dans le menu des applications, dans mon cas, je reçois 4 icônes indiquant mon nom de l'application.

Il semble que chaque icône représente une activité, et depuis mon application contient 3 onglets (avec activités) les 3 premières icônes sur mon go menu à une activité particulière, et la 4ème icône me prend à l'application elle-même

Ceci est mon manifeste

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

Que puis-je faire pour n'avoir une icône pour mon application sur mon appareil et non 4?

Merci

Était-ce utile?

La solution

La réponse a déjà été fournie, mais je suis juste briefing. Dans Java l'application commencera par la classe qui contient la méthode principale et sera essentiellement un simple point d'entrée à l'application.

Dans Android vous auriez pu remarquer qu'il n'y a pas de méthode principale dans votre classe d'activité. Ici, nous utilisons le fichier Manifest pour faire la même chose. Une application peut avoir plusieurs points d'entrée et "android.intent.action.MAIN" indique que cette activité devrait être la principale activité de départ et la catégorie LAUNCHER dit que ce point d'entrée doit figurer dans le lanceur d'application. Une fois que vous faites une activité LAUNCHER Android fournit une icône d'application et nom et vous devez avoir remarqué que cliquant sur chacune des 4 icônes dans votre cas prendriez-vous pour 4 activités différentes.

La ligne du bas est si notre application ne nécessite plusieurs points d'entrée, vous ne devez pas l'utiliser.

Autres conseils

Parce que vous avez 4 activités avec

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

Cela ajoute une icône de lancement pour votre activité.

supprimer intent-filter des 3 dernières activités

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top