2012-06-28 4 views
10

Est-il possible d'avoir plusieurs lanceurs qui démarrent la même activité avec des extras d'intention différents?Deux lanceurs pour une seule activité

+0

Que voulez-vous dire par « plusieurs lanceurs »? –

+1

Je veux dire plusieurs icônes dans le lanceur d'applications – fiddler

+0

c'est effectivement possible et la réponse acceptée est fausse – JacksOnF1re

Répondre

20

Il est impossible de fournir des extras d'intention lors du lancement de l'activité (via le lanceur). Toutefois, vous pouvez utiliser les balises <activity-alias> qui définissent des icônes d'application supplémentaires qui lancent la même activité (cible).

EDIT: Ajouter exemple:

Cet exemple montre un véritable appel d'activité MyRealActivity et un alias Blahblah. Les deux ont des filtres d'intention qui les feront apparaître dans la liste des applications disponibles. Ils ont différents étiquettes et différents icônes afin qu'ils ressemblent à 2 applications différentes à l'utilisateur. Cependant, ils lancent tous deux la même activité. S'il vous plaît noter qu'il n'y a pas de classe Java pour .Blahblah, qui est juste un espace réservé et doit être unique.

<activity 
      android:name=".MyRealActivity" 
      android:label="@string/header_application" 
      android:icon="@drawable/icon_myapp"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN"/> 
      <category android:name="android.intent.category.LAUNCHER"/> 
     </intent-filter> 
    </activity> 

    <activity-alias 
      android:targetActivity=".MyRealActivity" 
      android:name=".Blahblah" 
      android:label="@string/header_blahblah" 
      android:icon="@drawable/icon_blahblah"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN"/> 
      <category android:name="android.intent.category.LAUNCHER"/> 
     </intent-filter> 
    </activity-alias> 
+0

ce qui signifie que la réponse à ma question est ... non? – fiddler

+1

Voir ma modification s'il vous plaît. –

+0

que voulez-vous dire par «tags»? – fiddler

2

Je ne sais pas pourquoi vous le voulez. Mais vous pouvez créer un raccourci sur homeScreen qui ouvre la même application avec des extras différents.

Jetez un oeil à this answer. et this

Questions connexes