Was ist der Zweck der Verwendung android.intent.category.DEFAULT
im Feld Kategorie von Absichtsfiltern?
android
intentfilter
Pravy
quelle
quelle
Antworten:
Kategorien werden für implizite Absichten verwendet. Wenn Ihre Aktivität von einer impliziten Absicht gestartet werden kann, wenn der Aktivität keine andere bestimmte Kategorie zugewiesen ist, sollte der Intent-Filter der Aktivität diese Kategorie enthalten. (auch wenn Sie andere Kategorien im Intent-Filter haben). Wenn Sie sicher sind, dass Ihre Aktivität mit einer anderen Kategorie aufgerufen werden muss , verwenden Sie nicht die Standardeinstellung.
Das Festlegen der Kategorie auf "Standard" bedeutet nicht, dass diese Aktivität beim Start Ihrer App standardmäßig verwendet wird. Die Aktivität sagt dem System nur, dass " Oh, ich könnte gestartet werden, selbst wenn die Kategorie des Starter-Intents auf" Nichts " gesetzt ist ! "
quelle
Diese Kategorie wird hauptsächlich für implizite Absichten verwendet. Wenn Ihre Aktivität mit einer impliziten Absicht gestartet werden soll, sollte diese Kategorie in den Filter aufgenommen werden.
Ich denke , der Begriff „Standard“ als „default verstanden werden Kandidaten “. Wenn die Aktion für ein Datenelement in mehrere Aktivitäten aufgelöst wird, präsentiert Android dem Benutzer alle Kandidaten und der Benutzer kann seinen bevorzugten Standard auswählen.
Referenz:
http://developer.android.com/guide/components/intents-filters.html
Auszug aus dieser Seite:
quelle
Es soll sicherstellen, dass Ihre anderen Aktivitäten aufgerufen werden können, wenn die App ausgeführt wird. LAUNCHER macht die Aktivität, die es hat, zur ersten Aktivität, die startet. Um mit Absichten zu den anderen Aktivitäten zu gelangen, müssen diese durch Setzen von DEFAULT als "tatsächliche" Aktivitäten aufgeführt werden. Das ist von dem, was ich weiß, also zitiere mich nicht, wenn es falsch ist.
quelle
Aktivitäten müssen CATEGORY_DEFAULT unterstützen, damit sie von Context.startActivity () gefunden werden können.
Um implizite Absichten zu erhalten, müssen Sie die Kategorie CATEGORY_DEFAULT in den Absichtsfilter aufnehmen. Die Methoden startActivity () und startActivityForResult () behandeln alle Absichten so, als ob sie die Kategorie CATEGORY_DEFAULT deklariert hätten. Wenn wir es nicht in unserem Absichtsfilter deklarieren, werden keine impliziten Absichten für unsere Aktivität aufgelöst.
quelle
Es wird verwendet, um eine Operation als Standardaktion zu deklarieren (wie der Name schon sagt). Nehmen wir an, wir haben eine Notizblock-App (siehe Beispiel für einen Android-Notizblock). Die erste Seite der App besteht aus einer Liste aller Editor-Dateien. Wenn eine Notizblockdatei ausgewählt ist, kann eine der Operationen wie Notiz bearbeiten, Notiz löschen usw. ausgeführt werden. Ich möchte jedoch die Bearbeitung als Standardaktion festlegen. Wenn ich also die mittlere Taste auf meiner Tastatur drücke, sollte das Bearbeitungsfenster geöffnet sein.
quelle
https://developer.android.com/guide/components/intents-filters
quelle
Kategorie:
Entspricht jeder impliziten Absicht. Diese Kategorie muss enthalten sein, damit Ihre Aktivität eine implizite Absicht erhält.
https://codelabs.developers.google.com/codelabs/android-training-activity-with-implicit-intent/index.html?index=..%2F..%2Fandroid-training#6
quelle