Ein Absicht ist eine "Absicht", eine Handlung auszuführen; mit anderen Worten,
ein Messaging-Objekt, mit dem Sie eine Aktion von einem anderen anfordern können App-Komponente
Eine Absicht ist im Grunde eine Nachricht, die besagt, dass Sie etwas getan haben oder möchten. Je nach Absicht lauschen Apps oder das Betriebssystem darauf und reagieren entsprechend. Stellen Sie sich das als eine tolle E-Mail an eine Gruppe von Freunden vor, in der Sie Ihrem Freund John anweisen, etwas zu tun, oder an Freunde, die X ( "Absichtsfilter" ) können, um X zu tun Andere Leute werden die E-Mail ignorieren, aber John (oder Freunde, die X können) werden darauf reagieren.
Um auf eine Broadcast-Absicht zu hören (wie das Klingeln des Telefons oder ein SMS wird empfangen)), implementieren Sie ein Broadcast-Empfänger , dem die Absicht übergeben wird Damit Sie die App-Absicht eines anderen wie "Bild aufnehmen" behandeln können, deklarieren Sie ein Absichtsfilter in der Manifestdatei Ihrer App .
Wenn Sie eine Absicht auslösen möchten, etwas zu tun, wie das Aufklappen des Dialers, dann eine Absicht auslösen sagen, dass Sie es tun werden.
Ein Intent ist im Grunde eine Nachricht, die zwischen Komponenten (wie Aktivitäten , Services, Broadcast Empfänger, und Inhaltsanbieter ). Es entspricht also fast den Parametern, die an API-Aufrufe übergeben werden. Die grundlegenden Unterschiede zwischen API-Aufrufen und dem Aufrufen von Komponenten über Absichten sind:
Natürlich können Absichten genau wie API-Aufrufe funktionieren, indem sogenannte explizite Absichten verwendet werden, die später erläutert werden. Aber meistens sind implizite Absichten der richtige Weg und das wird hier erklärt.
Eine Komponente, die eine andere aufrufen möchte, muss nur ihre Absicht zum Ausdruck bringen, einen Job auszuführen. Und jede andere Komponente, die existiert und behauptet hat, dass sie einen solchen Job durch Vorsatzfilter ausführen kann, wird aufgerufen über die Android Plattform, um die Aufgabe zu erledigen. Dies bedeutet, dass keine der Komponenten die Existenz der anderen erkennt, aber dennoch zusammenarbeiten kann, um das gewünschte Ergebnis für den Endbenutzer zu erzielen.
Diese unsichtbare Verbindung zwischen Komponenten wird durch die Kombination von Absichten, Absichtsfiltern und der Plattform Android) erreicht.
Dies führt zu enormen Möglichkeiten wie:
Hier sind weitere technische Details zu Absichten aus der Android Dokumentation .
Eine Absicht ist eine abstrakte Beschreibung einer auszuführenden Operation. Es kann mit startActivity verwendet werden, um eine Aktivität zu starten, und mit broadcastIntent zu senden es an alle interessierten BroadcastReceiver Komponenten und startService (Intent) oder bindService (Intent, ServiceConnection, int) zur Kommunikation mit einem Hintergrunddienst.
Ein Intent bietet die Möglichkeit, eine späte Laufzeitbindung zwischen dem Code in verschiedenen Anwendungen durchzuführen. Die wichtigste Verwendung ist der Start von Aktivitäten, bei denen es sich um den Klebstoff zwischen Aktivitäten handelt. Grundsätzlich handelt es sich um eine passive Datenstruktur mit einer abstrakten Beschreibung einer auszuführenden Aktion. Die wichtigsten Informationen in einer Absicht sind:
- action Die allgemeine auszuführende Aktion, z. B. ACTION_VIEW, ACTION_EDIT, ACTION_MAIN usw.
- Daten Die zu bearbeitenden Daten, z. B. ein Personendatensatz in der Kontaktdatenbank, ausgedrückt als Uri.
Absichten sind eine Möglichkeit, Android mitzuteilen, was Sie tun möchten. Mit anderen Worten, Sie beschreiben Ihre Absicht. Mit Absichten kann dem Android System signalisiert werden, dass ein bestimmtes Ereignis aufgetreten ist. Andere Komponenten in Android können sich über einen Absichtsfilter für dieses Ereignis registrieren.
Es folgen 2 Arten von Absichten
wird verwendet, um eine bestimmte Komponente aufzurufen. Wenn Sie wissen, welche Komponente Sie starten möchten und Sie dem Benutzer nicht die freie Kontrolle über die zu verwendende Komponente geben möchten. Sie haben beispielsweise eine Anwendung mit 2 Aktivitäten. Aktivität A und Aktivität B. Sie möchten Aktivität B aus Aktivität A starten. In diesem Fall definieren Sie eine explizite Absicht, die auf Aktivität B abzielt, und rufen sie dann direkt auf.
wird verwendet, wenn Sie eine Vorstellung davon haben, was Sie tun möchten, aber nicht wissen, welche Komponente gestartet werden soll. Oder wenn Sie dem Benutzer die Möglichkeit geben möchten, zwischen einer Liste der zu verwendenden Komponenten zu wählen. Wenn diese Absichten an das Android System gesendet werden, sucht es nach allen Komponenten, die für die bestimmte Aktion und den Datentyp registriert sind. Wird nur eine Komponente gefunden, startet Android die Komponente direkt. Sie haben beispielsweise eine Anwendung, die die Kamera zum Aufnehmen von Fotos verwendet. Eine der Eigenschaften Ihrer Anwendung ist, dass Sie dem Benutzer die Möglichkeit geben, die von ihm aufgenommenen Fotos zu senden. Sie wissen nicht, über welche Art von Anwendung der Benutzer Fotos senden kann, und Sie möchten dem Benutzer auch die Möglichkeit geben, die zu verwendende externe Anwendung auszuwählen, wenn er über mehrere verfügt. In diesem Fall würden Sie keine explizite Absicht verwenden. Stattdessen sollten Sie eine implizite Absicht verwenden, deren Aktion auf ACTION_SEND und deren Datenextrakt auf den URI des Fotos festgelegt ist.
Eine explizite Absicht wird immer zu ihrem Ziel geliefert, egal was sie enthält; Der Filter wird nicht herangezogen. Eine implizite Absicht wird jedoch nur dann an eine Komponente übergeben, wenn sie einen der Filter der Komponente passieren kann
Wenn eine Absicht an das Android System gesendet wird, ermittelt es die geeigneten Anwendungen für diese Absichten. Wenn für diese Art von Absichten mehrere Komponenten registriert wurden, bietet Android dem Benutzer die Möglichkeit, eine davon zu öffnen.
Diese Bestimmung basiert auf IntentFilters. Ein IntentFilters gibt die Arten von Intent an, auf die eine Aktivität, ein Dienst oder ein Broadcast Receiver reagieren kann. Ein Absichtsfilter deklariert die Funktionen einer Komponente. Es gibt an, welche Aktivitäten oder Dienste ausgeführt werden können und welche Arten von Broadcasts ein Receiver verarbeiten kann. Damit kann die entsprechende Komponente Intents des deklarierten Typs empfangen. IntentFilters werden normalerweise über die AndroidManifest.xml-Datei definiert. Für BroadcastReceiver ist es auch möglich, diese in der Codierung zu definieren. Ein IntentFilters wird durch seine Kategorie-, Aktions- und Datenfilter definiert. Es kann auch zusätzliche Metadaten enthalten.
Wenn eine Komponente keinen Absichtsfilter definiert, kann sie nur durch explizite Absichten aufgerufen werden.
Es folgen 2 Möglichkeiten, einen Filter zu definieren
Wenn Sie den Absichtsfilter im Manifest definieren, muss Ihre Anwendung nicht ausgeführt werden, um auf die im Filter definierten Absichten zu reagieren. Android registriert den Filter, wenn Ihre Anwendung installiert wird.
Wenn Sie möchten, dass Ihr Rundfunkempfänger die Absicht nur dann empfängt, wenn Ihre Anwendung ausgeführt wird. Dann sollten Sie Ihren Absichtsfilter während der Laufzeit (programmgesteuert) definieren. Beachten Sie, dass dies nur für Rundfunkempfänger funktioniert.
Nach dem Schreiben einer einzelnen Aktivität muss zu einer anderen Aktivität gewechselt werden, um eine andere Aufgabe mit oder ohne Informationen aus der ersten Aktivität auszuführen.
Android-Plattform ermöglicht den Übergang mittels Intent Interface.
Von hier stammen die folgenden Wörter: sing Intent Demo und ich empfehle Ihnen, dieses Beispiel durchzugehen, da sie auch eine Codedatei bereitgestellt haben. So können Sie es verwenden und leicht verstehen.
Mit Android Intent können Sie von einer Android Aktivität zu einer anderen navigieren. In diesem Tutorial werden anhand von Beispielen auch verschiedene Arten von Android Absichten behandelt.
Android Intent kann als einfaches Nachrichtenobjekt definiert werden, mit dem von einer Aktivität zu einer anderen kommuniziert wird.
Absichten definieren die Absicht einer Anwendung. Sie werden auch zum Übertragen von Daten zwischen Aktivitäten verwendet.
Ein Android Intent kann verwendet werden, um die folgenden 3 Aufgaben auszuführen:
Absicht kann grob in 2 Kategorien eingeteilt werden. Es gibt keine Schlüsselwörter für diese Kategorie und nur eine umfassende Klassifizierung der Verwendung von Android Intents).
Explicit Android Intent
Explicit Android Intent ist die Absicht, in der Sie explizit die Komponente definieren, die vom Android System aufgerufen werden soll.
Intent MoveToNext = new Intent (getApplicationContext(), SecondActivity.class);
Implicit Android Intent
Implicit Android Intents ist die Absicht, bei der Sie anstelle der genauen Definition der Komponenten die Aktion definieren, die Sie ausführen möchten. Die Entscheidung, mit dieser Aktion umzugehen, bleibt dem Betriebssystem überlassen. Das Betriebssystem entscheidet, welche Komponente Lass uns ein Beispiel sehen:
Intent sendIntent = new Intent();
sendIntent.setAction(Intent.ACTION_SEND);
Weitere Informationen finden Sie weiter unten
http://developer.Android.com/reference/Android/content/Intent.html
Nach ihrer Dokumentation:
Ein Intent ist ein Objekt, das die Laufzeitbindung zwischen separaten Komponenten (z. B. zwei Aktivitäten) bereitstellt. Die Absicht repräsentiert die "Absicht einer App, etwas zu tun". Sie können Absichten für eine Vielzahl von Aufgaben verwenden, aber meistens werden sie verwendet, um eine andere Aktivität zu starten.
Hier ist der Link mit Beispiel: http://developer.Android.com/training/basics/firstapp/starting-activity.html#BuildIntent
Wie im Dokument beschrieben, verwenden Sie zum Starten einer Aktivität (Sie müssen auch wissen, um welche Aktivität es sich handelt) die unten angegebene Absicht
/** Called when the user clicks the Send button */
public void sendMessage(View view) {
Intent intent = new Intent(this, DisplayMessageActivity.class);
EditText editText = (EditText) findViewById(R.id.edit_message);
String message = editText.getText().toString();
intent.putExtra(EXTRA_MESSAGE, message);
startActivity(intent);
}
Eine Absicht ist eine abstrakte Beschreibung einer auszuführenden Operation. Es kann mit startActivity zum Starten einer Aktivität, mit broadcastIntent zum Senden an interessierte BroadcastReceiver-Komponenten und mit startService (Intent) oder bindService (Intent, ServiceConnection, int) zum Kommunizieren mit einem Hintergrunddienst verwendet werden.
Weitere Details finden Sie unter diesen Links:
1). http://developer.Android.com/reference/Android/content/Intent.html
2) http://developer.Android.com/guide/topics/intents/intents-filters.html
3). http://www.vogella.de/articles/AndroidIntent/article.html
es sind viel mehr artikel verfügbar.
Was ist Absicht?
Es ist eine Art Nachricht oder Information, die an die Komponenten übergeben wird. Es wird verwendet, um eine Aktivität zu starten, eine Webseite anzuzeigen, SMS zu senden, E-Mails zu senden usw.
Es gibt zwei Arten von Absichten in Android:
Implizite Absicht
Explizite Absicht
Implizite Absicht wird verwendet, um die Systemkomponenten aufzurufen
Beispiel
Intent i = newIntent(Android.content.Intent.ACTION_VIEW,Uri.parse(“http://www.Amazon.com”));
startActivity(i);
Explizite Absicht wird verwendet, um die Aktivitätsklasse aufzurufen.
Beispiel
Intent intent = newIntent (this, SecondActivity.class);
startActivity(intent);
sie können mehr lesen
http://www.vogella.com/tutorials/AndroidIntent/article.html#intents_overviewhttp://developer.Android.com/reference/Android/content/Intent.html
Absicht ist die Absicht, eine Operation auszuführen.
Im Detail können Sie sich beziehen
http://developer.Android.com/reference/Android/content/Intent.html
Auch in meinem Blog
http://emergingandroidtech.blogspot.in/2014/11/what-is-intent-in-Android.html
Schauen Sie, ob es für Sie hilfreich ist.
Danke.
Ein Intent ist eine Klasse, die die Informationen für bestimmte Aktionen bindet.
beispiel: Daten einer Aktivität an eine andere Aktivität übergeben, wenn der Benutzer solche Aktionen in ausführt
gegenwärtige Aktivität.
Um die Absichten im Grunde zu verstehen, empfehle ich Ihnen, die Website zu durchsuchen: http://developer.Android.com/guide/topics/intents/intents-filters.html
Außerdem habe ich in meinem persönlichen Blog über Absichten mit Beispielen gesprochen: http://androiddesk.wordpress.com/2011/12/24/explicit-intent/
http://androiddesk.wordpress.com/2012/01/13/implicit-intent/
Schauen Sie doch einfach mal rein, wenn Sie meinen, es wäre nützlich.
Danke
Im weitesten Sinne können wir Intent als definieren
Wenn eine Aktivität eine andere Aktivität starten möchte, wird ein Objekt mit dem Namen Intent erstellt, das angibt, welche Aktivität gestartet werden soll.
Absichten werden verwendet, um eine andere Aktivität von einer Aktivität aus zu initiieren. Sie werden im Wesentlichen für mehrere Zwecke verwendet, z. B. zum Senden von Daten an eine andere Aktivität von einer Aktivität aus und zum Auslösen von Zwecken.
Grundsätzlich gibt es zwei Arten
Implizite Absichten.
Explizite Absichten.
Als Anfänger weiß ich so viel, ich denke, dass dies eine grundlegende Vorstellung von Android Absichten geben wird
Aus dem Papier Deep Dive into Android IPC/Binder Framework atAndroid Builders Summit 2013
Link
Die Absicht wird in einigen kleinen aber effektiven Zeilen verstanden
Aus this thread einer einfachen Antwort der Android Architektin Dianne Hackborn geht hervor, dass es sich um einen data container
Handelt, der es tatsächlich ist.
Aus Sicht der Android Architektur :
Intent ist ein Datencontainer, der für die Kommunikation zwischen Prozessen verwendet wird. Es basiert auf dem Architekturgesichtspunkt Binder
Android.
Eine Android Anwendung kann null oder mehr Aktivitäten enthalten. Wenn Ihre Anwendung mehr als eine Aktivität enthält, müssen Sie häufig von einer zu einer anderen navigieren. In Android navigieren Sie zwischen Aktivitäten durch sogenannte Mit putExtra () können Sie einige Daten an die Aktivität übergeben, die Sie mit Intent starten möchten.