2010-06-21 2 views
5

Pourriez-vous s'il vous plaît expliquer le but et l'utilisation de LauncherActivity? La documentation dit qu'il "affiche une liste de toutes les activités qui peuvent être effectuées pour une intention donnée". J'ai compris qu'il devrait automatiquement construire une liste de toutes les activités trouvées dans l'application et de fournir leur lancement. Ai-je raison?Utilisation LauncherActivity

Et comment l'utiliser? Je n'ai trouvé aucun exemple sur le web.

Répondre

10

Google Code montre le code de classe lui-même ... Il a un constructeur différent de celui décrit dans le Android Platform API.

public abstract class LauncherActivity extends ListActivity { 
    Intent mIntent; 
    PackageManager mPackageManager; 
    IconResizer mIconResizer; 

Votre téléphone peut avoir plusieurs applications possibles qui traitent une intention donnée. Un bon exemple est l'ouverture d'une page Web. Il ya le navigateur WebKit basé stock, vous pouvez installer Firefox Mobile, Dolphin Browser, Opera Mini ... Quand ils tous annoncent qu'ils peuvent gérer une intention donnée, comment le périphérique sait lequel il devrait passer l'intention de? Android va utiliser un LauncherActivity pour faire apparaître une liste de sélection de paquets dont chacun est listé qui sait comment faire quelque chose avec l'intention donnée. Lorsque vous en choisissez un, vous choisissez l'application que vous souhaitez et l'intention est acheminée vers l'application correspondante. De ce point de vue, c'est une classe qui fait vraiment partie du code de support du système d'exploitation Android, qui consiste à déterminer où distribuer les intentions. Il est difficile de voir une situation où vous auriez besoin de vous impliquer directement ... vous devriez pouvoir appeler StartActivity(Intent), ce qui projette l'intention sur le mur vers le système d'exploitation, et à ce stade, l'appareil lui-même devrait lancer LauncherActivity seul (si c'est nécessaire).

sans aucun rapport (et nom désambiguïsé horriblement) est « l'activité de lancement » de votre application (documentation) - une activité qui montre en AndroidManifest.xml avec un filtre avec l'intention « android.intent.action.MAIN » et « android .intent.category.LAUNCHER "... Voici comment votre application annonce au système qu'elle souhaite avoir une icône dans la liste des applications de l'appareil, et qu'une activité spécifique doit être démarrée lorsque cette icône est cliquée. Vous devez absolument faire cela.