Frage

Wenn ich meine Anwendung auf ein Gerät installieren oder Emulator es mehrfach in dem Apps-Menü erscheint, in meinem Fall bekomme ich 4 Icons meine Anwendung Namen.

Es scheint, dass jedes Symbol eine Aktivität repräsentiert, und da meine Anwendung 3 Registerkarten (mit Aktivitäten) die ersten drei Symbole auf dem Menü geht auf eine bestimmte Aktivität, und das vierte Symbol nimmt mich an die App selbst

Das ist mein Manifest

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

Was kann ich nur für meinen App auf meinem Gerät ein Symbol haben und nicht 4?

Danke

War es hilfreich?

Lösung

Die Antwort ist bereits zur Verfügung gestellt worden, aber ich bin Briefing es einfach. In Java wird die Anwendung mit der Klasse beginnen, die die Haupt Methode enthält, und das wird im Grunde ein Single Einstiegspunkt für die gesamte Anwendung sein.

In Android könnten Sie haben bemerkt, dass es keine Haupt-Methode ist die Klasse in Ihrer Aktivität. Hier stellen wir Manifest-Datei zu tun, um das gleiche verwenden. Eine Anwendung kann mehrere Einstiegspunkte und "android.intent.action.MAIN" haben zeigt, dass diese Aktivität die Hauptausgangsaktivität sein sollte und die LAUNCHER Kategorie sagt, dass dieser Eintrag Punkt sollte im Anwendungs-Launcher aufgeführt werden. Sobald Sie eine Aktivität als LAUNCHER machen Android bietet ein Anwendungssymbol und Namen zu, und Sie haben müssen bemerkt, dass in Ihrem Fall auf jeder der vier Symbole klicken Sie auf 4 verschiedene Aktivitäten nehmen würde.

Das Endergebnis ist, wenn unsere Anwendung erfordert nicht mehrere Einstiegspunkte, Sie müssen es nicht verwenden.

Andere Tipps

Weil Sie haben 4 Aktivitäten mit

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

Das fügt ein Launcher-Symbol für Ihre Tätigkeit.

Entfernen intent-filter die letzten 3 Aktivitäten

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top