2010-06-21 10 views
5

Könnten Sie mir bitte erklären Zweck und Verwendung von LauncherActivity? Die Dokumentation sagt, dass es "eine Liste aller Aktivitäten anzeigt, die für eine bestimmte Absicht ausgeführt werden können". Ich habe verstanden, dass es automatisch eine Liste aller in der Anwendung gefundenen Aktivitäten erstellen und ihren Start bereitstellen soll. Habe ich recht?LauncherActivity Verwendung

Und wie man es benutzt? Ich habe im Web keine Beispiele gefunden.

Antwort

10

Google Code zeigt den Klassencode selbst ... Er hat einen anderen Konstruktor als in der Android Platform API beschrieben.

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

Ihr Telefon kann mehr als eine mögliche App haben, die eine bestimmte Absicht behandelt. Ein gutes Beispiel ist das Öffnen einer Webseite. Es gibt den auf Lager WebKit basierten Browser, Sie können Firefox Mobile, Dolphin Browser, Opera Mini ... installieren. Wenn sie alle werben, dass sie mit einer bestimmten Absicht umgehen können, woher weiß das Gerät, an welchen es die Absicht weitergeben soll?

Android verwendet eine LauncherActivity, um eine Auswahlliste von Paketen aufzurufen, in der jede Liste aufgeführt ist, die weiß, wie man etwas mit der von Ihnen bereitgestellten Absicht ausführt. Wenn Sie eine auswählen, wählen Sie die gewünschte App aus, und die Absicht wird an die entsprechende App weitergeleitet.

Aus dieser Perspektive ist es eine Klasse, die wirklich Teil des Android-Betriebssystem-Support-Codes ist, einen Teil davon herauszufinden, wo bestimmte Absichten zu verteilen sind. Es ist schwer, eine Situation zu sehen, in der man sich direkt damit befassen müsste ... man sollte einfach StartActivity(Intent) anrufen können, was die Absicht über die Wand zum Betriebssystem wirft, und zu diesem Zeitpunkt sollte das Gerät selbst LauncherActivity starten allein (wenn es sogar benötigt wird).

völlig unabhängig (und schrecklich name-vereindeutigt) ist Ihre Anwendung "Launcher Activity" (documentation) - eine Tätigkeit, die mit "android.intent.action.MAIN" in AndroidManifest.xml mit einem Intent-Filter zeigt und „android .intent.category.LAUNCHER "... So kündigt Ihre App dem System an, dass sie ein Symbol in der Anwendungsliste des Geräts haben möchte und dass eine bestimmte Aktivität gestartet werden soll, wenn auf dieses Symbol geklickt wird. Das musst du unbedingt tun.

Verwandte Themen