Was sind der Zweck Vorsatz Kategorien?
Könnte jemand bitte erklären Sie mir, den Zweck der Intent
Kategorien? Wann sollte ich meine eigenen und so weiter? Das einzige, was darüber geschrieben Intent
Kategorien in meinem Buch ist, dass Sie die Gruppe Absichten?.
- offTopic : können wir Kategorien Anwendung, die dem Namen nach auf Vorsatz Kategorien in android
Du musst angemeldet sein, um einen Kommentar abzugeben.
Die Kategorie, die allein sind nutzlos, Sie sind verwendet, um zu beschreiben ein mögliches Ziel für eine "implizite intent" in einem
intent-filter
.Wenn Sie wissen, welche Klasse/Aktivität Sie starten möchten, und verwenden Sie
startActivity()
oderstartActivityForResult()
, es ist ein so genanntes "explizit".Hier ist eine Analogie dafür, wie implizite intents arbeiten:
Wenn Sie wollen, um einige Ihrer Aktivität/BroadcastReceivers/Dienstleistungen außerhalb Ihrer Anwendungen Grenzen, können Sie das Android-Manifest deklarieren Sie eine "intent-filter", so dass es wird geöffnet, wenn das system oder eine app startet einen "impliziten intent", der passt.
Tun Sie das (zum Beispiel) für die Aktivität, die geöffnet werden sollte, von dem launcher:
Dieser hört auf den
ACTION_MAIN
-Aktion, ausgelöst durch Androiden Launcher (CATEGORY_LAUNCHER
).Haben Sie zwei Kind-Elemente in der "intent-filter":
action
. Dieser gibt an, welche Aktion der "intent-filter" solltehören.
category
s. Dieser gibt an, wie die Aktivität sein solltegenannt.
Einer der
category
s (zum Beispiel)android.intent.category.DEFAULT
, was sagt die Aktivität gestartet werden, die normalerweise im full-screen-Modus. Dieandroid.intent.category.TAB
-Kategorie zum Beispiel erklärt, diese Tätigkeit als eine Registerkarte in einemTabActivity
, so kann es nur geöffnet werden, als Tab.Weiteres Beispiel wäre das hinzufügen der
android.intent.category.PREFERENCE
-Kategorie, die erklären würde, die Aktivität, wie Sie Ihre Einstellungen-Aktivität.Deklarieren Ihre eigenen
category
s ist weder möglich noch nötig.Weiter mehr müssen Sie verstehen, dass diese Ereignisse ausgelöst werden, indem die System/einer Anderen App, und Sie können nur angeben, ob und wie Sie reagieren wollen, wenn Sie ausgelöst werden.