it-swarm.com.de

Was bedeutet Android.intent.action.MAIN?

Ich habe so viele verschiedene verwirrende Erklärungen gesehen.

<intent-filter>
     <action Android:name="Android.intent.action.MAIN" /> 
     <category Android:name="Android.intent.category.LAUNCHER" />
</intent-filter>

Was ist die Bedeutung von

<action Android:name="Android.intent.action.MAIN" />

und

 <category Android:name="Android.intent.category.LAUNCHER" />

und

 <category Android:name="Android.intent.category.DEFAULT" />
61
Gero

Android.intent.action.MAIN bedeutet, dass diese Aktivität der Einstiegspunkt der Anwendung ist, d. h. wenn Sie die Anwendung starten, wird diese Aktivität erstellt.

Aus den Dokumenten

ACTION_MAIN with category CATEGORY_HOME -- Launch the home screen.

Auch von hier

Aktivität Aktion Start als Haupteinstiegspunkt, erwartet nicht empfange Daten.

Android.intent.category.DEFAULT wird hauptsächlich für implizite Absichten verwendet. Wenn Ihre Aktivität durch eine implizite Absicht gestartet werden soll, sollte diese Kategorie in ihren Filter aufgenommen werden .. Wenn Ihre Aktivität durch eine implizite Absicht ausgelöst werden kann, wenn keine bestimmte Kategorie zugewiesen ist, sollte der Filter für diese Kategorie diese Kategorie enthalten.

Android.intent.category.LAUNCHER

category - Gibt zusätzliche Informationen zu der auszuführenden Aktion.

CATEGORY_LAUNCHER bedeutet, dass es im Launcher als Anwendung auf oberster Ebene angezeigt werden soll

Siehe die Dokumente ..

  1. http://developer.Android.com/reference/Android/content/Intent.html
  2. http://developer.Android.com/guide/topics/manifest/action-element.html
58
Lal

ACTION_MAIN gilt als Einstiegspunkt für die Anwendung. Normalerweise kombiniert es sich mit CATEGORY_LAUNCHER in einem <intent-filter>, um auf eine Aktivität hinzuweisen, die im Startbildschirm des Startbildschirms angezeigt werden soll, oder in einem anderen Bereich, der sich selbst als Startprogramm betrachtet. Solche "Launchers" können PackageManager mit queryIntentActivities() abfragen, um solche Aktivitäten zu finden und sie dem Benutzer anzuzeigen.

ACTION_MAIN kann jedoch für andere spezielle Zwecke in Kombination mit anderen Kategorien verwendet werden. Beispielsweise gibt CATEGORY_CAR_DOCK mit ACTION_MAIN eine Aktivität an, die als Kandidat gelten soll, der angezeigt werden soll, wenn der Benutzer sein Telefon in ein vom Hersteller bereitgestelltes Fahrzeugdock ablegt.

Wenn eine Intent mit startActivity() verwendet wird und die Intent noch nicht in einer Kategorie platziert ist, wird sie in CATEGORY_DEFAULT platziert. Daher muss ein <activity><intent-filter> einige <category> angeben, wobei <category Android:name="Android.intent.category.DEFAULT" /> verwendet wird, wenn nichts anderes vorhanden ist.

77
CommonsWare
<action Android:name="Android.intent.action.MAIN"/>

Ist die Hauptaktivität für diese Anwendung

 <category Android:name="Android.intent.category.LAUNCHER" />

Es ist in der Kategorie LAUNCHER, was bedeutet, dass es ein Symbol in allem bekommt, was sich selbst als „Launcher“ versteht, wie z. B. auf dem Startbildschirm

 <category Android:name="Android.intent.category.DEFAULT" />

Der Aufruf von startActivity () fügt immer die Kategorie DEFAULT hinzu, wenn keine andere Kategorie angegeben ist.

Fügen Sie im Allgemeinen nur Android.intent.category.DEFAULT Hinzu, auch wenn Sie andere Kategorien haben. Dies garantiert, dass, wenn Requesting Intent keine Kategorien bereitstellt, die Absicht mit der Funktion startActivity(intent), dann kann Ihre Empfangsaktivität auch diese Absichten erhalten ..

Quelle: The Busy Coders Guide to Android Entwicklung

https://commonsware.com/Android/

0
Shubham Soni