Beispiele für Android Launch-Modi

Ich finde es schwer, die genauen Umstände zu verstehen, in denen jeder der verschiedenen Startmodi in Android verwendet würde. Könnte jemand mir einige Beispiele geben, um zu verstehen, wann die verschiedenen Modi angemessen sind?

  • Nur die aktuelle Android-Widget-ID in der Update-Methode aktualisieren
  • Android: Gibt es eine universelle Möglichkeit, die MMS auf jedem Android-Gerät zu senden?
  • Wird GCM Network Manager auf Nicht-Play-Geräten arbeiten?
  • OutOfMemoryError was zu erhöhen und wie?
  • EditText in Listview verliert Fokus, wenn auf Android 4.x gedrückt wird
  • Android - gibt es einen Rückruf, der direkt nach onResume () aufgerufen wird?
  • Nicht Dim Hauptinhalt Wenn DrawerLayout sichtbar ist?
  • TextInputLayout und EditText Double Hint Problem
  • Fehler beim Erstellen von Projekt in Android Studio
  • Berechnen Sie die tatsächliche zurückgelegte Wegstrecke durch mobile
  • Android: Open Spinner von Button
  • Machen facebook Login Arbeit mit einem Android Webview
  • 3 Solutions collect form web for “Beispiele für Android Launch-Modi”

    Zwischen den Browser- und Weckeranwendungen decken Sie alle vier Startmodi ab:

    1. BrowserActivity verwendet singleTask . Es gibt nur eine Browser-Aktivität zu einem Zeitpunkt und es wird nicht Teil Aufgaben, die es zu senden, um Webseiten zu öffnen. Während es zu dem zurückkehren könnte, was zuletzt vorgestellt wurde, wenn es zurückkommt, ist es tatsächlich an der Unterseite seines eigenen Aufgabenaktivitätsstapels fixiert. Es wird seine Aufgabe mit Aktivitäten teilen, die es wie Lesezeichen startet.

    2. BrowserBookmarksPage verwendet singleTop . Zwar gibt es mehrere Instanzen dieser Aktivität, wenn es bereits eine an der Spitze der Task-Aktivität Stack wird es wiederverwendet werden und onNewIntent() wird aufgerufen werden. Auf diese Weise müssen Sie nur einmal zurückkehren, um zum Browser zurückzukehren, wenn die Lesezeichenaktivität mehrmals gestartet wird.

    3. AlarmClock verwendet Standard . Der Benutzer kann mehrere Instanzen dieser Aktivität starten und diese Instanzen können Teil jeder Aufgabe und irgendwo im Aktivitätsstapel sein. Als eine recht einfache Anwendung verlangt sie nicht wirklich eine strenge Kontrolle über ihre Tätigkeit.

    4. AlarmAlert verwendet singleInstance . Nur eine Alert-Aktivität zu einer Zeit und es ist immer eine eigene Aufgabe. Alles, was es startet (wenn überhaupt), wird Teil seiner eigenen neuen Aufgabe.

    Die offizielle Dokumentation ist ein bisschen verwirrend, also hier ist ein Tisch zu helfen.

    http://androidisland.blogspot.com/2010/12/activity-launch-modes-simple.html

    Ein "Startmodus" ist die Art und Weise, in der eine neue Instanz einer Aktivität mit der aktuellen Aufgabe verknüpft werden soll.

    Launch-Modi können mit einem von zwei Mechanismen definiert werden:

    Manifest-Datei: Wenn Sie eine Aktivität in einer Manifest-Datei deklarieren, können Sie festlegen, wie die Aktivität mit Tasks verknüpft werden soll. Unterstützte Werte sind:

    standard (Standard): Dies ist der Gleichtakt für die meisten Aktivitäten. Mehrere Instanzen der Aktivitätsklasse können instanziiert werden und mehrere Instanzen können der gleichen Task oder verschiedenen Tasks hinzugefügt werden.

    singleTop : Der Unterschied zum Standard ist, wenn eine Instanz der Aktivität bereits am Anfang der aktuellen Task existiert und das System die Absicht zu dieser Aktivität leitet, wird keine neue Instanz erstellt, da sie stattdessen eine onNewIntent() Methode ausschaltet Ein neues Objekt zu schaffen.

    singleTask : Eine neue Aufgabe wird immer erstellt und eine neue Instanz wird an die Aufgabe als Wurzel geschoben. Wenn jedoch irgendeine Aktivitätsinstanz in irgendwelchen Aufgaben vorhanden ist, leitet das System die Absicht zu dieser Aktivitätsinstanz durch den onNewIntent() Methodenaufruf. In diesem Modus können Aktivitätsinstanzen auf dieselbe Aufgabe gedrückt werden. Dieser Modus ist nützlich für Aktivitäten, die als Einstiegspunkte dienen.

    singleInstance : Gleich wie singleTask , außer dass die keine Aktivitäten Instanz in die gleiche Aufgabe der singleInstance 's gedrückt werden kann. Dementsprechend ist die Aktivität mit dem Startmodus immer in einer einzigen Aktivitätsinstanz Aufgabe. Dies ist ein sehr spezialisierter Modus und sollte nur in Anwendungen verwendet werden, die vollständig als eine Aktivität implementiert sind.

    Absichtsflaggen: Anrufe an startActivity() können ein Flag in der Intent , das startActivity() , ob und wie die neue Aktivität mit der aktuellen Aufgabe verknüpft werden soll. Unterstützte Werte sind:

    FLAG_ACTIVITY_NEW_TASK : Gleich wie singleTask Wert in Manifest-Datei (siehe oben). FLAG_ACTIVITY_SINGLE_TOP : Gleich wie singleTop Wert in Manifest-Datei (siehe oben). FLAG_ACTIVITY_CLEAR_TOP : Wenn die zu startende Aktivität bereits in der aktuellen Task ausgeführt wird, dann werden anstatt eine neue Instanz dieser Aktivität zu starten, werden alle anderen Aktivitäten oben zerstört und diese Absicht wird an die wiederaufgenommene Instanz der Aktivität übermittelt ( Jetzt oben), durch onNewIntent() . In der Manifest-Datei gibt es keinen entsprechenden Wert, der dieses Verhalten erzeugt.

    Sie können diesen Link überprüfen

    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.