2012-06-28 17 views
10

È possibile avere più launcher che avviano la stessa attività con diversi extra di intent?Due launcher per una singola attività

+0

Che cosa si intende per "lanciarazzi multipli"? –

+1

Voglio dire diverse icone nell'app launcher – fiddler

+0

questo è effettivamente possibile e la risposta accettata è errata – JacksOnF1re

risposta

20

Non è possibile fornire extra di intent quando si avvia l'attività (tramite il Launcher).

Tuttavia, ciò che si può fare è utilizzare <activity-alias> tag che definiscono ulteriori icone delle applicazioni che lancerà lo stesso (target) di attività.

EDIT: Aggiungere esempio:

Questo esempio mostra una chiamata vera e propria attività MyRealActivity e un alias chiamato Blahblah. Entrambi hanno filtri di intent che li faranno apparire sulla lista delle app disponibili. Hanno diverse etichette e diverse icone in modo che sembrino 2 app diverse per l'utente. Tuttavia, entrambi lanciano la stessa attività. Si noti che non esiste una classe java per .Blahblah, che è solo un segnaposto e deve essere univoco.

<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

che significa che la risposta alla mia domanda è ... no? – fiddler

+1

Vedere la mia modifica per favore. –

+0

cosa intendi con 'tag'? – fiddler

2

Non so perché lo vuoi. Ma puoi creare scorciatoie su homeScreen che apre la stessa App con diversi extra.

Dai un'occhiata alla this answer. e this

Problemi correlati