- Syntax:
<activity android:allowEmbedded=["true" | "false"] android:allowTaskReparenting=["true" | "false"] android:alwaysRetainTaskState=["true" | "false"] android:autoRemoveFromRecents=["true" | "false"] android:banner="drawable resource" android:canDisplayOnRemoteDevices=["true" | "false"] android:clearTaskOnLaunch=["true" | "false"] android:colorMode=[ "hdr" | "wideColorGamut"] android:configChanges=["colorMode", "density", "fontScale", "fontWeightAdjustment", "grammaticalGender", "keyboard", "keyboardHidden", "layoutDirection", "locale", "mcc", "mnc", "navigation", "orientation", "screenLayout", "screenSize", "smallestScreenSize", "touchscreen", "uiMode"] android:directBootAware=["true" | "false"] android:documentLaunchMode=["intoExisting" | "always" | "none" | "never"] android:enabled=["true" | "false"] android:enabledOnBackInvokedCallback=["true" | "false"] android:excludeFromRecents=["true" | "false"] android:exported=["true" | "false"] android:finishOnTaskLaunch=["true" | "false"] android:hardwareAccelerated=["true" | "false"] android:icon="drawable resource" android:immersive=["true" | "false"] android:label="string resource" android:launchMode=["standard" | "singleTop" | "singleTask" | "singleInstance" | "singleInstancePerTask"] android:lockTaskMode=["normal" | "never" | "if_whitelisted" | "always"] android:maxRecents="integer" android:maxAspectRatio="float" android:multiprocess=["true" | "false"] android:name="string" android:noHistory=["true" | "false"] android:parentActivityName="string" android:persistableMode=["persistRootOnly" | "persistAcrossReboots" | "persistNever"] android:permission="string" android:process="string" android:relinquishTaskIdentity=["true" | "false"] android:requireContentUriPermissionFromCaller=["none" | "read" | "readAndWrite" | "readOrWrite" | "write"] android:resizeableActivity=["true" | "false"] android:screenOrientation=["unspecified" | "behind" | "landscape" | "portrait" | "reverseLandscape" | "reversePortrait" | "sensorLandscape" | "sensorPortrait" | "userLandscape" | "userPortrait" | "sensor" | "fullSensor" | "nosensor" | "user" | "fullUser" | "locked"] android:showForAllUsers=["true" | "false"] android:stateNotNeeded=["true" | "false"] android:supportsPictureInPicture=["true" | "false"] android:taskAffinity="string" android:theme="resource or theme" android:uiOptions=["none" | "splitActionBarWhenNarrow"] android:windowSoftInputMode=["stateUnspecified", "stateUnchanged", "stateHidden", "stateAlwaysHidden", "stateVisible", "stateAlwaysVisible", "adjustUnspecified", "adjustResize", "adjustPan"] > ... </activity>
- enthalten in:
<application>
- kann Folgendes enthalten:
<intent-filter>
<meta-data>
<layout>
- description:
- Deklariert eine Aktivität (eine abgeleitete
Activity
-Klasse), die einen Teil der visuellen Benutzeroberfläche der App implementiert. Alle Aktivitäten muss durch<activity>
dargestellt werden -Elemente in der Manifest-Datei. Alle nicht deklarierten Elemente werden nicht angezeigt. vom System und wird nie ausgeführt. - Attribute:
android:allowEmbedded
-
Gibt an, dass die Aktivität als eingebettetes untergeordnetes Element einer anderen insbesondere wenn das untergeordnete Element in einem Container lebt, z. B. ein
Display
, das zu einer anderen Aktivität gehört. Zum Beispiel Aktivitäten die für benutzerdefinierte Wear-Benachrichtigungen verwendet werden, Wear kann die Aktivität in seinem Kontextstream anzeigen, der sich in einem anderen Prozess.Der Standardwert dieses Attributs ist
false
. android:allowTaskReparenting
- Ob die Aktivität von der Aufgabe, mit der sie gestartet wurde, verschoben werden kann
die Affinität zur nächsten Aufgabe hat,
vorne. Es sind
"true"
, wenn es verschoben werden kann, und"false"
, wenn es bleibt bei der Aufgabe, in der sie begonnen hat.Wenn dieses Attribut nicht festgelegt ist, wird der Wert, der vom entsprechenden
allowTaskReparenting
Attribut des<application>
-Elements für die Aktivität gilt. Der Standardwert ist"false"
.Normalerweise wird eine Aktivität der Aufgabe zugeordnet, die Aktivität, die ihn gestartet hat, und bleibt dort für seine gesamte Lebensdauer. Mit diesem Attribut können Sie erzwingen, dass das Element wieder der Aufgabe übergeordnet wird, eine Affinität hat, wenn die aktuelle Aufgabe nicht mehr angezeigt wird. Damit werden in der Regel die Aktivitäten einer Anwendung verschoben für die Hauptaufgabe dieser App.
Wenn eine E-Mail-Nachricht beispielsweise einen Link zu einer Webseite enthält, öffnet der Link eine Aktivität, in der die Seite angezeigt werden kann. Diese Aktivität wird von der Browser-Anwendung definiert, aber als Teil der E-Mail gestartet für die Aufgabe. Wenn sie der Browseraufgabe wieder übergeordnet wurde, wird angezeigt, wenn der Browser in den Vordergrund rückt und nicht vorhanden ist, wenn die E-Mail-Aufgabe kommt wieder vor.
Die Affinität einer Aktivität wird definiert durch Attribut „
taskAffinity
“. Die Affinität einer Aufgabe wird durch Lesen der Affinität ihrer Stammaktivität bestimmt. Daher befindet sich eine Root-Aktivität immer in einer Task mit der dieselbe Affinität. Da Aktivitäten mit"singleTask"
oder"singleInstance"
Startmodi können nur die Stammebene einer Aufgabe sein. Erneute Elternschaft ist auf"standard"
und"singleTop"
beschränkt Modi. (Siehe auch dielaunchMode
. android:alwaysRetainTaskState
- Ob der Status der Aufgabe, in der sich die Aktivität befindet, immer ist
die vom System verwaltet werden.
"true"
, wenn ja, und"false"
, wenn das System die Aufgabe auf den ursprünglichen Zustand zurücksetzen kann in bestimmten Situationen. Der Standardwert ist"false"
. Dieses ist nur für die Stammaktivität einer Aufgabe von Bedeutung. Wird ignoriert für alle anderen Aktivitäten.Normalerweise löscht das System eine Aufgabe und entfernt alle Aktivitäten aus dem Stapel über der Stammaktivität zu platzieren, in bestimmten Situationen, wenn der Nutzer auf dem Startbildschirm angezeigt. In der Regel geschieht dies, wenn der Nutzer die Website die Aufgabe für einen bestimmten Zeitraum ausführen, z. B. 30 Minuten.
Wenn dieses Attribut jedoch
"true"
lautet, kehren Nutzer immer zurück der Aufgabe im letzten Status zugewiesen werden, unabhängig davon, wie sie dorthin gelangen. Dies ist in Anwendungen wie Webbrowsern nützlich sind, z. B. mehrere geöffnete Tabs, die Nutzer nicht verlieren möchten. android:autoRemoveFromRecents
- Ob Aufgaben, die von der Aktivität mit diesem Attribut gestartet wurden, verbleiben im
Bildschirm „Letzte“ bis zur letzten Aktivität im
abgeschlossen wird. Wenn
true
, ist die Aufgabe automatisch vom Bildschirm "Neueste" entfernt. Dadurch wird die Verwendung vonFLAG_ACTIVITY_RETAIN_IN_RECENTS
Es muss sich um einen booleschen Wert handeln, entweder"true"
oder"false"
. android:banner
- Eine ziehbare Ressource
Bereitstellung eines erweiterten grafischen Banners für das zugehörige Element Verwendung mit dem
<activity>
-Tag zum Bereitstellen eines Standardbanners für eine bestimmte Aktivität oder mit dem Tag<application>
-Tag zur Bereitstellung eines Banners für alle Anwendungsaktivitäten.Das System verwendet das Banner, um eine App in Android TV-Startbildschirm. Da das Banner nur auf dem Startbildschirm erscheint, wird nur von Anwendungen mit einer Aktivität angegeben,
CATEGORY_LEANBACK_LAUNCHER
Intent.Dieses Attribut wird als Verweis auf eine Drawable-Ressource festgelegt, die des Bildes, z. B.
"@drawable/banner"
. Es gibt kein Standardbanner.Weitere Informationen finden Sie unter Stelle ein Banner für den Startbildschirm unter „Erste Schritte mit TV-Apps“ bereit.
android:canDisplayOnRemoteDevices
-
Gibt an, ob die Aktivität auf einem Remote-Gerät angezeigt werden kann, das Android ausgeführt wird. Es muss sich um einen booleschen Wert handeln, entweder
"true"
oder"false"
.Der Standardwert dieses Attributs ist
"true"
. android:clearTaskOnLaunch
- Ob alle Aktivitäten aus der Aufgabe entfernt werden, mit Ausnahme von
der Root-Aktivität, wenn sie vom Startbildschirm aus neu gestartet wird.
"true"
, wenn die Aufgabe immer auf die Stammaktivität reduziert ist und"false"
, wenn nicht. Der Standardwert ist"false"
. Dieses Attribut ist nur für Aktivitäten von Bedeutung, die eine neue Aufgabe – die Stammaktivität – starten. Sie wird für alle anderen Aktivitäten in der Aufgabe ignoriert.Wenn der Wert
"true"
lautet, erhalten Nutzer jedes Mal, wenn sie mit der Aufgabe beginnen, werden zu ihrer Stammaktivität gebracht, unabhängig davon, was sie die Aufgabe zu erledigen. Dabei spielt es keine Rolle, ob über die Zurück- oder die Home-Taste lassen Sie es. Wenn der Wert"false"
ist, können aus der Aufgabe Aktivitäten gelöscht werden in aber nicht immer. Weitere Informationen finden Sie in der Attribut „alwaysRetainTaskState
“.Angenommen, der Nutzer startet Aktivität P vom Startbildschirm aus, und von da an die Aktivität F. Der Nutzer tippt als Nächstes auf „Startseite“ und kehrt zurück. zu Aktivität P. Normalerweise sehen Nutzende die Aktivität Q, der letzten Aufgabe von P. Wenn P dieses Flag jedoch auf
"true"
setzt, werden alle der darüber hinaus gehenden Aktivitäten – in diesem Fall Q – werden entfernt, wenn der Nutzer Aktivität P auf dem Startbildschirm aus. Daher sehen Nutzende bei der Rückkehr zur Aufgabe nur P.Wenn dieses Attribut und
allowTaskReparenting
"true"
sind, werden alle Aktivitäten, denen ein neues übergeordnetes Element zugewiesen werden kann, verschoben nach der Aufgabe, mit der sie eine Affinität teilen. Die verbleibenden Aktivitäten werden dann verworfen.Dieses Attribut wird ignoriert, wenn
FLAG_ACTIVITY_RESET_TASK_IF_NEEDED
nicht festgelegt ist. android:colorMode
Gibt den Farbmodus der Aktivität an. Falls angegeben, kann entweder
hdr
oderwideColorGamut
.Bei
hdr
wird angefordert, dass die Aktivität in einem hohen dynamischen Bereich angezeigt wird, wenn der unterstützt.Mit der Einstellung
wideColorGamut
wird angefordert, dass die Aktivität im Breitfarbmodus angezeigt werden soll. auf kompatiblen Geräten. Im Breitfarbmodus kann ein Fenster außerhalb desSRGB
Gamut bis kräftige Farben anzeigen. Wenn das Gerät die Darstellung von Wide Color Gamut nicht unterstützt, hat keine Auswirkungen. Weitere Informationen zum Rendern im Breitfarbmodus findest du unter Grafiken mit breiten Farbinhalten optimieren:android:configChanges
- Listet Konfigurationsänderungen auf, die von der Aktivität selbst vorgenommen werden. Wenn eine Konfiguration
während der Laufzeit eine Änderung auftritt, wird die Aktivität beendet und standardmäßig neu gestartet, aber es wird ein
Konfiguration mit diesem Attribut verhindert, dass die Aktivität neu gestartet wird. Stattdessen
die Aktivität ausgeführt wird und ihre
onConfigurationChanged()
-Methode aufgerufen wird.Hinweis: Verwenden Sie dieses Attribut nur in besonderen Fällen, um die Anwendung zu verbessern. und Reaktionsschnelligkeit. Weitere Informationen finden Sie unter Umgang mit Konfigurationsänderungen.
Die folgenden Strings sind gültige Werte für dieses Attribut. Mehrere Werte sind durch
|
getrennt, z. B."locale|navigation|orientation"
.Wert Beschreibung "colorMode"
Die Farbmodusfunktionen des Bildschirms (Farbgamut oder Dynamikbereich) haben sich geändert.
Hinweis:Der Farbmodus, den die Aktivität mit dem Attribut
colorMode
oder zur Laufzeit anfordert, unterscheidet sich von den Funktionen für verschiedene Farbmodi. Eine Aktivität, die den Farbmodus ändert, den sie verwendet, führt nicht zu einer Konfigurationsänderung, da sich die Farbfunktionen des Bildschirms nicht geändert haben."density"
Eine Änderung des Kompaktheitsgrads, beispielsweise wenn der Nutzer einen eine andere Display-Maßstab oder ein anderes Display aktiv ist.
In API-Level 24 hinzugefügt.
"fontScale"
Eine Änderung des Schriftskalierungsfaktors, z. B. wenn der Nutzer eine neue globale Schriftgröße. "fontWeightAdjustment"
Die Schriftstärke hat sich geändert. "grammaticalGender"
Das grammatische Geschlecht der Sprache hat sich geändert. Weitere Informationen finden Sie unter <ph type="x-smartling-placeholder"></ph> GrammaticalInflectionManager
In API-Level 34 hinzugefügt.
"keyboard"
Änderung des Tastaturtyps, z. B. wenn der Nutzer eine externe Tastatur anschließen. "keyboardHidden"
Eine Änderung der Bedienungshilfen für die Tastatur, z. B. wenn die Der Nutzer zeigt die Hardware-Tastatur an. "layoutDirection"
Eine Änderung der Layout-Richtung, z. B. von von links nach rechts (LTR) bis von rechts nach links (right-to-left, RTL).
In API-Level 17 hinzugefügt.
"locale"
Eine Änderung der Sprache, z. B. wenn der Nutzer eine neue in welcher Sprache der Text angezeigt wird. "mcc"
Eine Änderung des IMSI-Mobile Country Code (MCC), wenn eine SIM-Karte erkannt wird, die das Kundencenter aktualisiert. "mnc"
Eine Änderung des IMSI-Mobilfunknetzcodes (MNC), wenn eine SIM erkannt wird, die die MNC aktualisiert. "navigation"
TA wechseln zum Navigationstyp (Trackball oder Steuerkreuz). Normalerweise passiert das nicht. "orientation"
Eine Änderung der Bildschirmausrichtung, z. B. wenn der Nutzer das Gerät dreht.
Hinweis:Wenn Ihre Anwendung auf Für Android 3.2 (API-Level 13) oder höher wird außerdem die
"screenLayout"
und"screenSize"
, da das Bildschirmlayout und die Bildschirmgröße ändern, zwischen Hoch- und Querformat wechseln."screenLayout"
Eine Änderung des Bildschirmlayouts, beispielsweise wenn ein anderer Bildschirm aktiv wird. "screenSize"
Eine Änderung der aktuell verfügbaren Bildschirmgröße.
Dies entspricht einer Änderung der derzeit verfügbaren Größe im Verhältnis zum Das aktuelle Seitenverhältnis ändert sich, wenn der Nutzer zwischen dem Querformat wechselt. und Hochformat.
In API-Level 13 hinzugefügt.
"smallestScreenSize"
Eine Änderung der physischen Bildschirmgröße.
Dies stellt eine Größenänderung unabhängig von der Ausrichtung dar, sodass nur ändert sich, wenn sich die tatsächliche Bildschirmgröße ändert, zum Beispiel beim Wechsel zu externes Display. Eine Änderung an dieser Konfiguration entspricht einer Änderung in der
smallestWidth
Konfiguration.In API-Level 13 hinzugefügt.
"touchscreen"
Eine Veränderung beim Touchscreen. Normalerweise passiert das nicht. "uiMode"
Eine Änderung des Benutzeroberflächenmodus, z. B. wenn der Nutzer die Gerät an einen Schreibtisch oder ein Kfz-Dock anschließen oder der Nachtmodus wechselt. Weitere Informationen Informationen zu den verschiedenen UI-Modi finden Sie unter UiModeManager
In API-Level 8 hinzugefügt.
Alle diese Konfigurationsänderungen können sich auf die Ressourcenwerte auswirken, die für das . Wenn also
onConfigurationChanged()
aufgerufen wird, müssen Sie in der Regel erneut alle Ressourcen abrufen, einschließlich Ansichtslayouts und Drawables, um die Änderung richtig zu verarbeiten.Hinweis:Verwenden Sie sowohl
"screenLayout"
als auch"smallestScreenSize"
, um Konfigurationsänderungen im Zusammenhang mit dem Mehrfenstermodus zu verarbeiten. Der Mehrfenstermodus wird ab Android 7.0 (API-Level 24) unterstützt. android:directBootAware
Ob die Aktivität Direct-Boot-fähig ist, d. h., ob er ausgeführt werden kann, bevor der Nutzer das Gerät entsperrt.
Hinweis : Während der Direct Boot, eine Aktivität in kann Ihre Anwendung nur auf die Daten zugreifen, Gerätegeschützter Speicher.
Der Standardwert ist
"false"
.android:documentLaunchMode
- Gibt an, wie bei jedem Start eine neue Instanz einer Aktivität zu einer Aufgabe hinzugefügt wird.
Dieses Attribut ermöglicht dem Nutzer, mehrere Dokumente aus derselben Anwendung zu haben.
werden auf dem Bildschirm „Letzte“ angezeigt.
Dieses Attribut hat vier Werte, die folgende Auswirkungen haben, wenn der Nutzer ein Dokument öffnet durch die Anwendung:
Wert Beschreibung "intoExisting"
Das System sucht nach einer Aufgabe, deren Basis-Intent ComponentName
und der Daten-URI sind mit denen des Start-Intents übereinstimmen. Wenn das System eine solche Aufgabe findet, löscht das System die und wird neu gestartet, wobei die Stammaktivität einen Aufruf anonNewIntent(android.content.Intent)
Wenn das System eine solche Aufgabe nicht findet, erstellt das System eine neue Aufgabe."always"
Durch die Aktivität wird eine neue Aufgabe für das Dokument erstellt, auch wenn das Dokument bereits geöffnet ist. Dies entspricht der Einstellung der FLAG_ACTIVITY_NEW_DOCUMENT
undFLAG_ACTIVITY_MULTIPLE_TASK
."none"
Durch die Aktivität wird keine neue Aufgabe für die Aktivität erstellt. Dies ist der Standardwert, erstellt nur dann eine neue Aufgabe, wenn FLAG_ACTIVITY_NEW_TASK
festgelegt ist. Auf dem Bildschirm „Recents“ (Zuletzt verwendet) wird die Aktivität so behandelt, wie sie es standardmäßig tut: Hier wird eine einzelne Aufgabe für der App, die bei jeder Aktivität fortgesetzt wird, die der Nutzer zuletzt aufgerufen hat."never"
Die Aktivität wird auch dann nicht in einem neuen Dokument gestartet, wenn der Intent Folgendes enthält: FLAG_ACTIVITY_NEW_DOCUMENT
Durch diese Einstellung wird das Verhalten überschrieben derFLAG_ACTIVITY_NEW_DOCUMENT
undFLAG_ACTIVITY_MULTIPLE_TASK
-Flags, wenn eines davon in die Aktivität angezeigt wird, und auf dem Bildschirm „Letzte“ wird eine einzelne Aufgabe für die App angezeigt, die die der Nutzer zuletzt aufgerufen hat.Hinweis:Für andere Werte als
"none"
und"never"
gilt der Parameter Aktivität ist mitlaunchMode="standard"
definiert. Wenn dieses Attribut nicht angegeben ist,documentLaunchMode="none"
wird verwendet. android:enabled
- Gibt an, ob die Aktivität vom System instanziiert werden kann. Es ist
"true"
, wenn dies möglich ist, und"false"
, wenn nicht. Der Standardwert ist"true"
.Das
<application>
-Element hat ein eigenesenabled
-Element , das für alle Anwendungskomponenten, einschließlich Aktivitäten, gilt. Die<application>
und<activity>
müssen beide"true"
sein, da sie beide sind standardmäßig aktiviert, damit das System die Aktivität instanziieren kann. Wenn entweder"false"
lautet, kann sie nicht instanziiert werden. android:enableOnBackInvokedCallback
- Mit diesem Flag kannst du Systemanimationen auf Aktivitätsebene aktivieren, die vorhergesagt werden sollen. Dieses Verhalten
macht es einfacher, große Apps mit mehreren Aktivitäten zu automatischen vorausschauenden Touch-Gesten zu migrieren.
Mit der Einstellung „
android:enableOnBackInvokedCallback=false
“ wird die automatische Vervollständigung deaktiviert auf Aktivitätsebene oder auf App-Ebene, je nachdem, wo Sie und weist das System an, Aufrufe der API derOnBackInvokedCallback
-Plattform zu ignorieren. android:excludeFromRecents
Ob die durch diese Aktivität initiierte Aufgabe vom „Letzte Apps“. Das heißt, wenn diese Aktivität die Stammaktivität einer neuen bestimmt, ob die Aufgabe in der Liste der zuletzt verwendeten Apps angezeigt wird. Es ist
"true"
, wenn die Aufgabe aus der Liste ausgeschlossen ist;"false"
, wenn es ist eingeschlossen. Der Standardwert ist"false"
.android:exported
Ob die Aktivität von Komponenten anderer Anwendungen:
- Bei
"true"
ist die Aktivität für jede App zugänglich und kann über die genaue Kursname. - Wenn
"false"
, kann die Aktivität nur von Komponenten des derselben Anwendung, Anwendungen mit derselben Nutzer-ID oder privilegierten Systemkomponenten. Dies ist der Standardwert, wenn keine Intent-Filter vorhanden sind.
Wenn eine Aktivität in Ihrer App Intent-Filter enthält, setzen Sie dieses Element auf
"true"
, damit andere Apps sie starten können. Wenn es sich z. B. um die Hauptaktivität handelt, der App und enthältcategory
android.intent.category.LAUNCHER
.Wenn dieses Element auf
"false"
gesetzt ist und eine App versucht, die Aktivität zu starten, gibt das System eineActivityNotFoundException
.Dieses Attribut ist nicht die einzige Möglichkeit, den Kontakt einer Aktivität gegenüber anderen Anwendungen. Mit Berechtigungen werden auch die externen Entitäten eingeschränkt, die Aktivität aufrufen kann. Weitere Informationen finden Sie in der
permission
.- Bei
android:finishOnTaskLaunch
- Ob eine vorhandene Instanz der Aktivität heruntergefahren wird,
mit Ausnahme der Root-Aktivität, wenn der Nutzer seine Aufgabe neu startet, indem er die Aufgabe auf der
Startbildschirm zu öffnen. Es ist
"true"
, wenn es heruntergefahren wird, und"false"
wenn nicht. Der Standardwert ist"false"
.Wenn dieses Attribut und
allowTaskReparenting
"true"
sind, hat dieses Attribut Vorrang vor dem anderen. Die Affinität der Aktivität ignoriert. Die Aktivität wird nicht wieder übergeordnet, sondern gelöscht.Dieses Attribut wird ignoriert, wenn
FLAG_ACTIVITY_RESET_TASK_IF_NEEDED
nicht festgelegt ist. android:hardwareAccelerated
- Gibt an, ob hardwarebeschleunigtes Rendering hierfür aktiviert ist
Aktivitäten.
"true"
, wenn er aktiviert ist, und"false"
, wenn er aktiviert ist. nicht. Der Standardwert ist"false"
.Unter Android 3.0 und höher ist ein hardwarebeschleunigter OpenGL-Renderer Anwendungen zur Leistungsverbesserung für viele gängige 2D-Grafiken Geschäftsabläufe. Wenn der hardwarebeschleunigte Renderer aktiviert ist, werden die meisten Vorgänge in Canvas, Paint, Xfermode, ColorFilter, Shader und Camera werden beschleunigt.
Das Ergebnis: flüssigere Animationen, flüssigeres Scrollen und verbesserte auch für Anwendungen, die nicht explizit die OpenGL-Bibliotheken des Frameworks enthalten. Aufgrund der erhöhten Ressourcen, die erforderlich sind, die Hardwarebeschleunigung aktivieren, verbraucht Ihre App mehr RAM.
Nicht alle OpenGL-2D-Vorgänge werden beschleunigt. Wenn Sie Hardwarebeschleunigten Renderer testen, ob Ihre Anwendung den Renderer fehlerfrei verwenden.
android:icon
Ein Symbol, das die Aktivität repräsentiert. Das Symbol wird Nutzenden angezeigt, wenn eine Darstellung der Aktivität auf dem Bildschirm erforderlich ist. Zum Beispiel können Symbole für Aktivitäten, die Aufgaben initiieren, werden im Launcher-Fenster angezeigt. Das Symbol wird oft mit einem Label versehen: Informationen zum Label finden Sie unter dem Attribut
android:label
.Dieses Attribut wird als Verweis auf eine Drawable-Ressource festgelegt, die Bilddefinition. Wenn nicht festgelegt, wird das für die Anwendung angegebene Symbol stattdessen als Ganzes verwendet. Weitere Informationen finden Sie in der
<application>
icon
-Attributs des Elements.Das Symbol der Aktivität, das hier oder vom
<application>
ist außerdem das Standardsymbol für alle Intent-Filter der Aktivität. Weitere Informationen finden Sie in der<intent-filter>
Elementicon
-Attribut.android:immersive
- Legt die Einstellung für den immersiven Modus für die aktuelle Aktivität fest. Wenn es
"true"
ist, hat dasActivityInfo.flags
-Mitglied immer seineFLAG_IMMERSIVE
Bit gesetzt, auch wenn das Der immersive Modus ändert sich zur Laufzeit mit dersetImmersive()
-Methode. android:label
Ein für Nutzer lesbares Label für die Aktivität. Das Label wird auf dem Bildschirm angezeigt. wenn die Aktivität für den Nutzer dargestellt wird. Sie wird oft entlang der mit dem Aktivitätssymbol. Wenn dieses Attribut nicht festgelegt ist, gilt das Label für die Anwendung als Ganzes verwendet werden. sehen Sie sich die
<application>
label
-Attribut.Das Label der Aktivität, das hier oder vom
<application>
-Element, ist auch das Standardlabel für alle Intent-Filter der Aktivität. Weitere Informationen finden Sie in der<intent-filter>
Elementlabel
-Attribut.Das Label wird als Verweis auf eine String-Ressource festgelegt, kann er wie andere Zeichenfolgen in der Benutzeroberfläche lokalisiert werden. Der Einfachheit halber sollten Sie kann auch als Rohstring festgelegt werden.
android:launchMode
Eine Anleitung zum Starten der Aktivität. Es gibt fünf Modi: die in Verbindung mit Aktivitäts-Flags (
FLAG_ACTIVITY_*
-Konstanten) funktionieren inIntent
-Objekten, um zu bestimmen, was passiert, die Aktivität zur Verarbeitung eines Intents aufgerufen wird:"standard"
"singleTop"
"singleTask"
"singleInstance"
"singleInstancePerTask"
Der Standardmodus ist
"standard"
.Wie in der folgenden Tabelle dargestellt, lassen sich die Modi in zwei Hauptgruppen unterteilen:
"standard"
- und"singleTop"
-Aktivitäten auf einer Seite und"singleTask"
,"singleInstance"
und"singleInstancePerTask"
Aktivitäten auf der anderen. Eine Aktivität mit der Startmodus"standard"
oder"singleTop"
mehrere Male instanziiert werden.Die Instanzen können zu einer beliebigen Aufgabe gehören. und können sich an beliebiger Stelle in der Aktivität befinden. In der Regel sind sie in die Aufgabe einführt,
startActivity()
, es sei denn, dasIntent
-Objekt enthält einFLAG_ACTIVITY_NEW_TASK
In diesem Fall wird eine andere Aufgabe gewählt. Weitere Informationen finden Sie in dertaskAffinity
-Attribut.Im Gegensatz dazu sind
"singleTask"
,"singleInstance"
und"singleInstancePerTask"
-Aktivitäten zeigen ein anderes Verhalten."singleInstancePerTask"
ist immer die Basis der Aktivitätsaufgabe. Außerdem kann das Gerät nur eine Instanz des"singleInstance"
-Aktivität gleichzeitig, während die"singleInstancePerTask
-Aktivitäten können mehrmals instanziiert werden verschiedene Aufgaben erledigen,FLAG_ACTIVITY_MULTIPLE_TASK
oderFLAG_ACTIVITY_NEW_DOCUMENT
festgelegt ist.Eine Aktivität mit dem Startmodus
"singleTask"
kombiniert Folgendes: von"singleInstance"
und"singleInstancePerTask"
: Die Aktivität kann mehrfach instanziiert werden. Uhrzeiten und können sich an einer beliebigen Stelle in einer Aufgabe derselbentaskAffinity
befinden. Auf dem Gerät kann jedoch nur eine Aufgabe gespeichert werden, um das Gerät zu finden."singleTask"
-Aktivität am Stamm der Aktivitätsaufgabe.Die Modi
"standard"
und"singleTop"
unterscheiden sich voneinander in einer Hinsicht: jedes Mal, wenn es einen neuen Intent für eine"standard"
gibt -Aktivität ist, wird eine neue Instanz der Klasse erstellt, um auf diesen Intent zu reagieren. Jede Instanz verarbeitet einen einzelnen Intent. Ebenso kann eine neue Instanz einer"singleTop"
-Aktivität erstellt wurde, um einen neuen Intent zu verarbeiten.Hat die Zielaufgabe jedoch bereits eine an der Spitze ihres Stacks steht, den neuen Intent in einer
onNewIntent()
Anruf. Es wird keine neue Instanz erstellt. Andernfalls wird eine vorhandene Instanz des"singleTop"
Aktivität ist Teil der Zielaufgabe, aber nicht ganz oben in Stack angebracht ist oder sich ganz oben in einem Stack, aber nicht in der Zielaufgabe befindet – eine neue Instanz erstellt und in den Stack verschoben.Wenn die Nutzenden navigiert bis bis zu einer Aktivität im aktuellen Stack, wird das Verhalten durch die Startmodus der übergeordneten Aktivität. Wenn die übergeordnete Aktivität den Startmodus
singleTop
hat (oder derup
-IntentFLAG_ACTIVITY_CLEAR_TOP
enthält), wird die übergeordnete Aktivität zum an der Spitze des Stacks und sein Status bleibt erhalten.Der Navigations-Intent wird empfangen durch den
onNewIntent()
der übergeordneten Aktivität . Wenn die übergeordnete Aktivität den Startmodusstandard
hat und die Der Intentup
enthältFLAG_ACTIVITY_CLEAR_TOP
nicht, die aktuelle Aktivität und ihre übergeordnetes Element aus dem Stack heraus; und es wird eine neue Instanz der übergeordneten Aktivität erstellt, um den Navigations-Intent zu empfangen.Der
"singleInstance"
-Modus unterscheidet sich auch von"singleTask"
und"singleInstancePerTask"
in nur einer Hinsicht: eine Aktivität mit Startmodus"singleTask"
oder"singleInstancePerTask"
lassen andere Aktivitäten zu, z. B."standard"
und"singleTop"
Aktivitäten gehören.A Bei
"singleInstance"
-Aktivitäten hingegen sind keine anderen Aktivitäten dazugehören. Es muss die einzige Aktivität in der Aufgabe sein. Wenn es eine andere Aktivität startet, wird diese Aktivität einer anderen Aufgabe zugewiesen, wennFLAG_ACTIVITY_NEW_TASK
im Intent enthalten wären.Anwendungsfälle Startmodus Mehrere Instanzen? Kommentare Normale Starts für die meisten Aktivitäten "standard"
Ja Standard: Das System erstellt immer eine neue Instanz der Aktivität im und leitet den Intent an diese weiter. "singleTop"
Bedingt Wenn eine Instanz der Aktivität bereits oben in der Zielaufgabe vorhanden ist, leitet das System den Intent über einen Aufruf an die zugehörige onNewIntent()
-Methode an diese Instanz weiter, anstatt einen neue Instanz der Aktivität.Spezialisierte Markteinführungen
(nicht für den allgemeinen Gebrauch empfohlen)"singleTask"
Bedingt Das System erstellt die Aktivität am Stamm einer neuen Aufgabe oder lokalisiert die Aktivität für eine vorhandene Aufgabe mit der gleichen Affinität. Wenn eine Instanz der Aktivität bereits vorhanden ist und sich am Stammverzeichnis der Aufgabe befindet, leitet den Intent über einen Aufruf an die zugehörige onNewIntent()
-Methode an die vorhandene Instanz weiter, neuen."singleInstance"
Nein Entspricht "singleTask"
, außer dass das System keine Aufgaben, die die Instanz beinhalten, eingebunden sind. Bei der Aktivität handelt es sich immer und einziges Mitglied seiner Aufgabe."singleInstancePerTask"
Bedingt Die Aktivität kann nur als Root-Aktivität der Task ausgeführt werden. Die erste Aktivität, die die Aufgabe erstellt hat. Daher gibt es nur eine Instanz von diese Aktivität in einer Aufgabe. Die Aktivität kann jedoch mehrfach in verschiedenen Aufgaben instanziiert werden. Wie in der vorherigen Tabelle gezeigt, ist
"standard"
der Standardmodus und die für die meisten Aktivitäten geeignet sind."singleTop"
ist auch ein und nützlichen Startmodus für viele Arten von Aktivitäten verwenden. Die anderen Modi,"singleTask"
,"singleInstance"
und"singleInstancePerTask"
sind Für die meisten Anwendungen nicht geeignet. Sie führen zu einem Interaktionsmodell, das Ihnen und unterscheidet sich stark von den meisten anderen Anwendungen.Unabhängig von dem gewählten Startmodus sollten Sie unbedingt die Nutzerfreundlichkeit während des Starts und beim Zurückkehren Aktivitäten und Aufgaben über die Schaltfläche „Zurück“.
Weitere Informationen zu Startmodi und ihrer Interaktion mit
Intent
Flags finden Sie unter Aufgaben und Back-Stack.android:lockTaskMode
- Damit wird festgelegt, wie das System diese Aktivität darstellt, wenn das Gerät ausgeführt wird
Sperrmodus festlegen.
Android kann Aufgaben in einem immersiven, kioskähnlichen Modus ausführen, der als Modus „Aufgaben sperren“ bezeichnet wird. Wenn das System im Modus „Gesperrte Aufgabe“ ausgeführt wird, sehen Gerätenutzer normalerweise keine Benachrichtigungen und können nicht auf Apps zugreifen, die nicht auf der Zulassungsliste stehen oder zum Startbildschirm zurückkehren, sofern die Home App nicht auf der Zulassungsliste steht.
Nur Apps, die die von einem Device Policy Controller (DPC) auf die Zulassungsliste gesetzt wurden, können ausgeführt werden, wenn sich das System im Modus „Gesperrte Aufgabe“ befindet. System und privilegierte Apps, kann jedoch im Modus „Gesperrte Aufgabe“ ausgeführt werden, ohne auf die Zulassungsliste gesetzt zu werden.
Folgende Werte sind möglich:
R.attr.lockTaskMode
-Stringwerte:Wert Beschreibung "normal"
Standardwert. Das ist der Standardwert. Aufgaben werden nicht im Modus „Aufgaben sperren“ gestartet, können über den Aufruf startLockTask()
"never"
Tasks wird nicht im
lockTask
-Modus gestartet und der Gerätenutzer kann diese Aufgaben nicht über die Zuletzt verwendet.Hinweis:Dieser Modus ist nur für Systemanwendungen und privilegierte Anwendungen verfügbar. Nicht privilegierte Apps mit diesem Wert werden wie
normal
behandelt."if_whitelisted"
Wenn der DPC dieses Paket mit DevicePolicyManager.setLockTaskPackages()
, ist dieser Modus mitalways
identisch, mit der Ausnahme, dass die AktivitätstopLockTask()
abgeschlossen werden kann, wenn dies die letzte gesperrte Aufgabe ist. Wenn der DPC dieses Paket nicht autorisiert, Modus ist mitnormal
identisch."always"
Aufgaben, die bei dieser Aktivität gerootet wurden, werden immer im Modus „Aufgaben sperren“ gestartet. Wenn sich das System bereits in Modus „Task sperren“ aktivieren, wird die neue Aufgabe zusätzlich zur aktuellen Aufgabe gestartet. Aufgaben, die in diesem Modus gestartet werden, können den Modus zum Sperren von Aufgaben durch den Aufruf
finish()
Hinweis:Dieser Modus ist nur für Systemanwendungen und privilegierte Anwendungen verfügbar. Nicht privilegierte Apps mit diesem Wert werden wie
normal
behandelt.Dieses Attribut wurde in API-Ebene 23 eingeführt.
android:maxRecents
- Die maximale Anzahl von Aufgaben, die dieser Aktivität zugeordnet sind in Bildschirm „Letzte Apps“. Wenn diese Anzahl von Einträgen erreicht ist, entfernt das System die älteste verwendete Instanz auf dem Bildschirm "Recents" (Zuletzt verwendet) anzeigen. Gültige Werte sind Ganzzahlen von 1 bis 50 oder von 1 bis 25 auf Geräten mit wenig Arbeitsspeicher. Null ist ungültig. Der Standardwert ist 16.
android:maxAspectRatio
Das maximale Seitenverhältnis, das bei der Aktivität unterstützt wird. Wenn die App ausgeführt wird auf einem Gerät mit einem breiteren Seitenverhältnis. Teile des Bildschirms werden ungenutzt, damit die App im angegebenen maximalen Seitenverhältnis ausgeführt werden kann.
Das maximale Seitenverhältnis wird als Dezimalform des Quotienten aus der längeren Dimension geteilt durch die kürzere Dimension. Wenn das maximale Seitenverhältnis beispielsweise 7:3 ist, legen Sie den Wert dieses Attributs auf 2,33 fest.
Auf Nicht-Wearables muss der Wert dieses Attributs mindestens 1, 33 sein. Auf Wearable-Geräten muss diese Version 1.0 oder höher sein. Andernfalls ignoriert das System Wert festlegen.
Hinweis : Dieses Attribut wird ignoriert, wenn die Aktivität
resizeableActivity
ist auf „true“ gesetzt, weil das bedeutet, dass deine Aktivität unterstützt jede Größe.Weitere Informationen zu diesem Attribut finden Sie unter Deklarieren Sie ein maximales Seitenverhältnis.
android:multiprocess
- Ob eine Instanz der Aktivität in den Prozess der Komponente gestartet werden kann
damit alles begann. Ist das der Fall, ist es
"true"
, andernfalls"false"
. Der Standardwert ist"false"
.Normalerweise wird im Prozess der Aktivität eine neue Instanz die sie definiert hat, sodass alle Instanzen der Aktivität im selben . Wenn dieses Flag jedoch auf
"true"
gesetzt ist, werden Instanzen des können in mehreren Prozessen ausgeführt werden, sodass das System Instanzen erstellen kann, wo auch immer sie verwendet werden, sofern die Berechtigungen dies zulassen. nie notwendig oder wünschenswert. android:name
- Der Name der Klasse, in der die Aktivität implementiert wird. Dies ist eine abgeleitete Klasse von
Activity
. Der Attributwert ist normalerweise ein voll qualifizierter Klassenname, z. B."com.example.project.ExtracurricularActivity"
. Kurz gesagt: Wenn das erste Zeichen des Namens ein Punkt ist, wie".ExtracurricularActivity"
, wird er an den namespace, der imbuild.gradle
-Datei.Nachdem Sie Ihre Anwendung veröffentlicht haben, sollten Sie nicht diesen Namen ändern, es sei denn, Sie legen
android:exported="false"
fest. Es gibt keine Standardeinstellung. Der Name muss angegeben werden. android:noHistory
- Ob die Aktivität aus dem Aktivitätsstapel entfernt wird und
durch Aufrufen der
finish()
wenn Nutzende die Seite verlassen und es nicht mehr auf dem Bildschirm sichtbar sind. Es ist"true"
, wenn er abgeschlossen ist, und"false"
, wenn nicht. Der Standardwert ist"false"
.Der Wert
"true"
bedeutet, dass die Aktivität keinen bisherigen Trace. Sie verbleibt nicht im Aktivitäten-Stack für die Aufgabe, sodass der Nutzer nicht mehr dorthin zurückkehren kann. In diesem FallonActivityResult()
wird nie angerufen, wenn Sie eine weitere Aktivität für ein Ergebnis dieser Aktivität starten.Dieses Attribut wurde in API-Level 3 eingeführt.
android:parentActivityName
- Der Klassenname des logischen übergeordneten Elements der Aktivität. Der hier angegebene Name muss mit dem Kursnamen übereinstimmen
Name, der dem entsprechenden
<activity>
-Element zugewiesen wurdeandroid:name
-Attribut.Das System liest dieses Attribut, um zu bestimmen, welche Aktivität wann gestartet werden soll. tippt die nutzende Person in der Aktionsleiste auf die Schaltfläche „Nach oben“. Anhand dieser Informationen kann das System auch mit
TaskStackBuilder
einen Back-Stack von Aktivitäten synthetisieren.Zur Unterstützung der API-Ebenen 4 bis 16 können Sie die übergeordnete Aktivität auch mit einem
<meta-data>
-Element deklarieren, das einen Wert für"android.support.PARENT_ACTIVITY"
angibt:<activity android:name="com.example.app.ChildActivity" android:label="@string/title_child_activity" android:parentActivityName="com.example.app.MainActivity" > <!-- Parent activity meta-data to support API level 4+ --> <meta-data android:name="android.support.PARENT_ACTIVITY" android:value="com.example.app.MainActivity" /> </activity>
Weitere Informationen zum Deklarieren der übergeordneten Aktivität zur Unterstützung der Aufwärtsnavigation finden Sie finden Sie unter Bereitstellen von Navigation:
Dieses Attribut wurde in API-Ebene 16 eingeführt.
android:persistableMode
Definiert, wie eine Instanz einer Aktivität in einem Container gespeichert wird für mehrere Geräteneustarts ausgeführt wird.
Wenn die Stammaktivität einer Aufgabe den Wert dieses Attributs auf
persistRootOnly
, wird nur die Root-Aktivität beibehalten. Andernfalls werden die Aktivitäten, die weiter oben in der Back-Stack werden untersucht; alle dieser Aktivitäten, die den Wert dieses Attributs aufpersistAcrossReboots
werden beibehalten.Wenn Sie dieses Attribut verwenden, müssen Sie als Wert einen der Folgendes:
Wert Beschreibung persistRootOnly
Standardwert. . Beim Neustart des Systems wird beibehalten, aber nur der Start-Intent der Root-Aktivität wird verwendet.
Wenn der Start-Intent deiner App die Root-Aktivität deiner App lädt, wird der Für die Aktivität wird kein
PersistableBundle
-Objekt empfangen. Verwenden Sie daheronSaveInstanceState()
um den Status der Root-Aktivität deiner App auf einem Gerät beizubehalten neu starten.Hinweis : Dieser Attributwert wirkt sich auf die nur dann, wenn sie in der Root-Aktivität Ihrer App festgelegt ist.
persistAcrossReboots
Der Status dieser Aktivität wird zusammen mit dem jeweiligen Status beibehalten. Aktivitäten in den oberen Zurück Stapel mit eigenem
persistableMode
-AttributpersistAcrossReboots
. Wenn für eine Aktivität keine einpersistableMode
-Attribut, das aufpersistAcrossReboots
oder wenn es mit demIntent.FLAG_ACTIVITY_NEW_DOCUMENT
dann wird diese Aktivität zusammen mit allen Aktivitäten, die weiter oben werden nicht beibehalten.Wenn ein Intent eine Aktivität lädt, deren
persistableMode
in Ihrer App aufpersistAcrossReboots
gesetzt ist, wird der Aktivität empfängt einPersistableBundle
-Objekt imonCreate()
-Methode. Daher können SieonSaveInstanceState()
um den Status einer Aktivität bei einem Geräteneustart beizubehalten, Das Attribut „persistableMode
“ ist festgelegt aufpersistAcrossReboots
Hinweis : Dieser Attributwert wirkt sich auf die Verhalten, selbst wenn sie für eine andere Aktivität als das Stammverzeichnis Ihrer App festgelegt ist Aktivitäten.
persistNever
Der Status der Aktivität wird nicht gespeichert.
Hinweis : Dieser Attributwert wirkt sich auf die nur dann, wenn sie in der Root-Aktivität Ihrer App festgelegt ist.
Dieses Attribut wurde in API-Ebene 21 eingeführt.
android:permission
- Der Name einer Berechtigung, die Kunden zum Starten der Aktivität haben müssen
oder es auf andere Weise
auf einen Intent reagieren lassen. Wenn ein Aufrufer von
startActivity()
oderstartActivityForResult()
nicht gewährt wird, wird der Intent nicht an die Aktivität gesendet.Wenn dieses Attribut nicht festgelegt ist, wird die vom
<application>
des Elementspermission
für die Aktivität gilt. Wenn keines der beiden Attribute festgelegt ist, ist die Aktivität nicht durch Berechtigung.Weitere Informationen zu Berechtigungen finden Sie in der Berechtigungen der App-Manifest-Übersicht und Sicherheitstipps
android:process
Der Name des Prozesses, in dem die Aktivität ausgeführt wird. Normalerweise sind alle Komponenten einer Anwendung in einem für die Anwendung erstellten Standardprozessnamen ausgeführt und Sie müssen Sie dieses Attribut verwenden. Bei Bedarf können Sie den Standardprozess mit diesem Attribut verwenden, sodass Sie Ihre App-Komponenten in mehreren Prozessen.
Wenn der diesem Attribut zugewiesene Name mit einem Doppelpunkt (
:
) beginnt, wird ein neuer ist ein auf die Anwendung gebundener Prozess und wird erstellt, wenn er benötigt während die Aktivität ausgeführt wird.Wenn der Prozessname mit einem Kleinbuchstaben beginnt, wird die Aktivität ausgeführt in einem globalen Prozess dieses Namens erfolgen, sofern er dazu berechtigt ist. So können Komponenten in verschiedenen Anwendungen einen Prozess gemeinsam nutzen, Ressourcennutzung.
Der Wert des
<application>
-Elementsprocess
-Attribut kann für alle Komponenten einen anderen standardmäßigen Prozessnamen festlegen.android:relinquishTaskIdentity
Gibt die Aktivität ihre Aufgabenkennzeichnung auf eine übergeordnete Aktivität im Aufgaben-Stack. Eine Aufgabe, bei der dieses Attribut auf
"true"
gesetzt ist, ersetzt die BasisaktivitätIntent
durch die der nächsten Aktivität in der Aufgabe.Wenn auch für die nächste Aktivität dieses Attribut festgelegt ist auf
"true"
gesetzt ist, ergibt sich die Basis-Intent
für jede Aktivität, die im selben für die Aufgabe. Dies wird für jede Aktivität fortgesetzt, bis eine Aktivität gefunden wird, für die dieses Attribut festgelegt ist. an"false"
. Der Standardwert ist"false"
.Dieses Attribut, das auf
"true"
festgelegt ist, ermöglicht außerdem die Verwendung des MitActivityManager.TaskDescription
können Sie Labels, Farben und Symbole auf dem Bildschirm „Letzte Apps“.android:requireContentUriPermissionFromCaller
-
Gibt die Berechtigungen an, die zum Starten dieser Aktivität bei der Übergabe erforderlich sind Inhalts-URIs. Der Standardwert ist
none
, d. h. es gibt keine spezifischen Berechtigungen sind erforderlich. Durch das Festlegen dieses Attributs wird die Aktivität eingeschränkt basierend auf den Berechtigungen des Aufrufers. Wenn der Aufrufer keine erforderlichen Berechtigungen nicht erreicht haben, wird der Start der Aktivität perSecurityException
verweigert.Beachten Sie, dass die Erzwingung nur für Inhalts-URIs innerhalb
Intent.getData()
,Intent.EXTRA_STREAM
, undIntent.getClipData()
Kann ein String-Wert sein und "\\;" verwenden um Zeichen wie '\\n' zu maskieren oder "\\uxxxx" für ein Unicode-Zeichen;
Muss einer der folgenden konstanten Werte sein.
Konstante Wert Beschreibung Keine 0 Standardeinstellung. Es sind keine spezifischen Berechtigungen erforderlich. lesen 1 Erzwingt, dass der Aufrufer Lesezugriff auf die übergebenen Inhalts-URIs hat. readAndWrite 4 Erzwingt den Aufrufer, sowohl Lese- als auch Schreibzugriff auf die übergebenen Inhalts-URIs zu haben. readOrWrite 3 Erzwingt den Aufrufer, entweder Lese- oder Schreibzugriff auf die übergebenen Inhalts-URIs zu haben. Schreiben 2 Erzwingt, dass der Aufrufer Schreibzugriff auf die übergebenen Inhalts-URIs hat. android:resizeableActivity
-
Gibt an, ob die App den Mehrfenstermodus unterstützt. Ich können Sie dieses Attribut entweder im
<activity>
oder im<application>
-Elements.Wenn Sie dieses Attribut auf
"true"
setzen, kann der Nutzer die Aktivität starten in Splitscreen- und Freiformmodus. Wenn Sie das Attribut auf"false"
setzen, wird die App können nicht für eine Mehrfensterumgebung getestet oder optimiert werden. Das System kann die Aktivität dennoch in den Mehrfenstermodus mit aktiviertem Kompatibilitätsmodus versetzen.Das Festlegen dieses Attributs auf
"false"
ist keine Garantie dafür, dass keine andere Apps im Mehrfenstermodus, die auf dem Bildschirm sichtbar sind, wie z. B. Bild-im-Bild-Modus, auf anderen Displays. Daher bedeutet das Festlegen dieses Flags nicht, dass Ihre App exklusiven Ressourcenzugriff hat.Wenn Ihre App auf API-Level 24 oder höher ausgerichtet ist und Sie keinen Wert angeben für dieses Attribut wird der Wert des Attributs standardmäßig auf
"true"
gesetzt.Wenn Ihre App auf API-Level 31 oder höher ausgerichtet ist, funktioniert dieses Attribut bei kleinen und großen Bildschirme:
- Große Bildschirme (≥ 600 dp): Alle Apps unterstützen den Mehrfenstermodus. Das Attribut gibt an,
ob die Größe einer App angepasst werden kann und nicht, ob die App den Mehrfenstermodus unterstützt. Wenn
resizeableActivity="false"
, die App wird bei Bedarf in den Kompatibilitätsmodus versetzt um die Anzeigeabmessungen einzuhalten. - Kleine Bildschirme (sw < 600 dp): wenn
resizeableActivity="true"
und das Minimum die Mindesthöhe und -breite der Aktivität den Anforderungen für den Mehrfenstermodus entsprechen, unterstützt den Mehrfenstermodus. WennresizeableActivity="false"
, wird die App nicht unterstützen den Mehrfenstermodus unabhängig von der Mindestbreite und -höhe der Aktivität.
Hinweis:Gerätehersteller können das API-Level 31 überschreiben. verhalten.
Dieses Attribut wurde in API-Ebene 24 hinzugefügt.
Hinweis:Der Wert der Stammaktivität einer Aufgabe wird auf alle zusätzliche Aktivitäten, die in der Aufgabe gestartet wurden. Das heißt, wenn die Stammaktivität bei einer Aufgabe die Größe anpassen kann, behandelt das System alle anderen in der Größe anpassen. Wenn die Größe der Root-Aktivität nicht geändert werden kann, die Größe der Aktivitäten in der Aufgabe nicht geändert werden kann.
- Große Bildschirme (≥ 600 dp): Alle Apps unterstützen den Mehrfenstermodus. Das Attribut gibt an,
ob die Größe einer App angepasst werden kann und nicht, ob die App den Mehrfenstermodus unterstützt. Wenn
android:screenOrientation
Die angeforderte Ausrichtung der Aktivität.
Wenn eine Aktivität den gesamten Bildschirm ausfüllt, dient die angeforderte Ausrichtung als Vorschlag für die Ausrichtung auf diesem Bildschirm so ändern, dass sie dem angeforderten Wert entspricht. Dies kann zu einer die von der Bildschirmausrichtung im Raum abweicht, um das Gerät zu drehen und die App weiter zu verwenden. Android 12 (API-Level) 31) und höher können Gerätehersteller einzelne Geräte (z. B. das Tablet-Display eines faltbaren Geräts) verwenden, um diesen Vorschlag zu ignorieren, Erzwingen, dass eine Aktivität in der vom Nutzer bevorzugten Geräteausrichtung im Letterbox-Format dargestellt wird. Dieses führt dazu, dass die Ausrichtung der Aktivität mit der angeforderten Ausrichtung übereinstimmt, ohne dass der Nutzer das Gerät physisch drehen.
Im Mehrfenstermodus dient die angeforderte Ausrichtung nicht als Vorschlag für den gesamten Ausrichtung. Wenn die Aktivität Letterboxed-Wert, der angeforderte die Ausrichtung wirkt sich auf das Letterbox-Bild aus, das auf die Aktivität angewendet wird.
Bei dem Wert kann es sich um einen der folgenden Strings handeln:
"unspecified"
Der Standardwert. Das System wählt die Ausrichtung aus. Die Richtlinie, die und die Entscheidungen, die in den jeweiligen Kontexten getroffen werden, können von Gerät zu Gerät. "behind"
Dieselbe Ausrichtung wie die Aktivität, die direkt darunter des Aktivitäten-Stacks. "landscape"
Querformat: Das Display ist breiter als hoch. "portrait"
Hochformat (das Display ist höher als breit) "reverseLandscape"
Querformat mit entgegen der normalen Ausrichtung In API-Level 9 hinzugefügt. "reversePortrait"
Hochformat entgegen dem normalen Hochformat. In API-Level 9 hinzugefügt. "sensorLandscape"
Querformat, je nach Gerät kann es aber auch das normale oder das umgekehrte Querformat sein. Sensor. Der Sensor wird auch dann verwendet, wenn der Benutzer die sensorbasierte Drehung gesperrt hat. In API-Level 9 hinzugefügt. "sensorPortrait"
Hochformat, aber je nach Gerät kann es auch das normale oder umgekehrtes Hochformat sein. Sensor. Der Sensor wird auch dann verwendet, wenn der Benutzer die sensorbasierte Drehung gesperrt hat. Abhängig von den Gerätekonfiguration möglicherweise nicht zulässig ist. In API-Level 9 hinzugefügt. "userLandscape"
Querformat, je nach Gerät kann es aber auch das normale oder das umgekehrte Querformat sein. und die Präferenzen des Nutzers. In API-Level 18 hinzugefügt. "userPortrait"
Hochformat, aber je nach Gerät kann es auch das normale oder umgekehrtes Hochformat sein. und die Präferenzen des Nutzers. Abhängig von der Gerätekonfiguration wird das Rotation ist möglicherweise nicht zulässig. In API-Level 18 hinzugefügt. "sensor"
Der Ausrichtungssensor des Geräts bestimmt die Ausrichtung. Die Ausrichtung des angezeigt wird, hängt davon ab, wie der Nutzer das Gerät hält. Sie ändert sich, wenn der Nutzer . Einige Geräte drehen sich jedoch standardmäßig nicht in alle vier möglichen Ausrichtungen. Bis alle vier Ausrichtungen verwenden, verwenden Sie "fullSensor"
. Der Sensor wird auch dann verwendet, Sensorbasierte Drehung gesperrt."fullSensor"
Der Ausrichtungssensor des Geräts bestimmt die Ausrichtung für jede der vier Ausrichtungen. Dies entspricht in etwa "sensor"
, mit der Ausnahme, dass hier jede der vier möglichen Bildschirmausrichtungen verwendet werden kann. unabhängig davon, was das Gerät normalerweise unterstützt. Auf einigen Geräten wird die Umkehrfunktion Hoch- oder Querformat, aber dadurch sind auch diese Ausrichtungen möglich. In API-Level 9 hinzugefügt."nosensor"
Die Ausrichtung wird ohne Bezug auf einen Sensor zur physischen Ausrichtung bestimmt. Der Sensor wird ignoriert, sodass der Bildschirm nicht je nachdem, wie der Nutzer das Gerät bewegt, gedreht wird. "user"
Die aktuelle bevorzugte Ausrichtung des Nutzers. "fullUser"
Wenn der Nutzer die sensorbasierte Rotation gesperrt hat, verhält sich das wie bei user
, Andernfalls verhält sie sich wiefullSensor
und lässt jede der vier möglichen Bildschirmausrichtungen. In API-Level 18 hinzugefügt."locked"
Sperrt die Ausrichtung auf ihre aktuelle Drehung, was auch immer das ist. In API-Level 18 hinzugefügt. Hinweis:Wenn Sie einen der Werte für Quer- oder Hochformat deklarieren, gilt das als unverzichtbar für die Ausrichtung, in der die Aktivität durchgeführt wird. Der deklarierte Wert ermöglicht das Filtern nach Diensten wie Google Play, sodass Ihre App nur für Geräte verfügbar, die die für Ihre Aktivitäten erforderliche Ausrichtung unterstützen. Für Wenn Sie beispielsweise
"landscape"
,"reverseLandscape"
oder"sensorLandscape"
, ist deine Anwendung nur für Geräte verfügbar, die Querformat.Außerdem erklären Sie ausdrücklich, Ihre Anwendung erfordert entweder das Hoch- oder Querformat mit dem
<uses-feature>
Element wie<uses-feature android:name="android.hardware.screen.portrait"/>
. Dies ist ein Filterverhalten die von Google Play und anderen unterstützenden Diensten bereitgestellt werden. Hier kannst du festlegen, ob deine App installiert werden kann, wenn ein Gerät nur eine bestimmte Ausrichtung unterstützt.android:showForAllUsers
-
Gibt an, ob die Aktivität angezeigt wird, wenn der aktuelle Nutzer des Geräts als der Nutzer, der die Aktivität gestartet hat. Sie können dieses Attribut in einen Literalwert wie
"true"
oder"false"
oder können Sie ein Ressourcen- oder Themenattribut festlegen, Boolescher Wert.Dieses Attribut wurde in API-Ebene 23 hinzugefügt.
android:stateNotNeeded
- Ob die Aktivität beendet und neu gestartet werden kann
ohne seinen Status gespeichert zu haben. Es ist
"true"
, wenn er neu gestartet werden kann ohne Bezug auf den vorherigen Zustand und"false"
, wenn der vorherige Zustand Bundesland ist erforderlich. Der Standardwert ist"false"
.Bevor eine Aktivität temporär heruntergefahren wird, um Ressourcen zu sparen,
onSaveInstanceState()
aufgerufen wird. Bei dieser Methode wird der aktuelle Status der Aktivität in einemBundle
-Objekt, das dann anonCreate()
, wenn die Aktivität neu gestartet. Wenn dieses Attribut auf"true"
gesetzt ist,onSaveInstanceState()
wird möglicherweise nicht aufgerufen undonCreate()
wird übergeben.null
stattBundle
, da dies der Fall ist, die Aktivität zum ersten Mal beginnt.Eine
"true"
-Einstellung bedeutet, dass die Aktivität neu gestartet werden kann, ohne beibehalten. Zum Beispiel die Aktivität, die die Der Startbildschirm verwendet diese Einstellung, um dafür zu sorgen, dass sie nicht entfernt wird, falls sie abstürzt. android:supportsPictureInPicture
-
Gibt an, ob die Aktivität unterstützt Bild-im-Bild-Display.
android:taskAffinity
Die Aufgabe, für die die Aktivität eine Affinität hat. Aktivitäten mit dieselbe Affinität konzeptionell zu derselben Aufgabe, zur selben Aufgabe "Anwendung" aus der Perspektive der Nutzenden. Die Affinität einer Aufgabe wird durch die Affinität der Stammaktivität bestimmt.
Die Affinität bestimmt zwei Dinge: die Aufgabe, der die Aktivität neu übergeordnet wird. (siehe
allowTaskReparenting
) Attribut) und der Aufgabe, die die Aktivität beim Start enthält, mit demFLAG_ACTIVITY_NEW_TASK
.Standardmäßig haben alle Aktivitäten in einer Anwendung die gleiche Affinität. Ich können Sie dieses Attribut so festlegen, dass sie unterschiedlich gruppiert und sogar Aktivitäten, die in verschiedenen Anwendungen innerhalb derselben Aufgabe definiert sind. Bis dass die Aktivität keine Affinität zu einer Aufgabe hat, in einen leeren String.
Wenn dieses Attribut nicht festgelegt ist, übernimmt die Aktivität das Affinitätsset für die Anwendung. Weitere Informationen finden Sie in der
<application>
des ElementstaskAffinity
. Der Name der Standardaffinität für eine Anwendung lautet Namespace, der imbuild.gradle
-Datei.android:theme
- Eine Referenz zu einer Stilressource, die ein übergeordnetes Thema der Aktivität definiert.
Dadurch wird der Kontext der Aktivität automatisch so festgelegt,
theme
und möglicherweise auch Ursache „starten“ Animationen vor dem Start der Aktivität, mit dem tatsächlichen Aussehen der Aktivität übereinstimmen.Wenn dieses Attribut nicht festgelegt ist, übernimmt die Aktivität das Design der der gesamten Anwendung, von der
<application>
des Elementstheme
. Wenn dieses Attribut ebenfalls nicht festgelegt ist, wird das Standardsystemdesign verwendet. Weitere Informationen finden Sie unter Stile und Designs. android:uiOptions
Zusätzliche Optionen für die Benutzeroberfläche einer Aktivität. Muss einer der folgenden Werte sein.
Wert Beschreibung "none"
Keine zusätzlichen UI-Optionen. Das ist die Standardeinstellung. "splitActionBarWhenNarrow"
Fügt einen Balken bei unten auf dem Bildschirm, um Aktionselemente in der App-Leiste anzuzeigen. Diese wird auch als Aktionsleiste, wenn Die Anzeige darf nicht horizontal ausgerichtet sein, z. B. im Hochformat auf einem Mobilgerät. Anstelle eines kleinen in der App-Leiste oben auf dem Bildschirm angezeigt wird, in den oberen Navigationsbereich und die untere Leiste für Aufgaben aufgeteilt. Das bedeutet, dass ein angemessener nicht nur für die Aufgaben, sondern auch für Navigation und Titel. Elemente ganz oben. Die Menüoptionen sind nicht auf die beiden Balken verteilt. Sie werden immer miteinander verbinden. Weitere Informationen zur App-Leiste finden Sie unter App-Leiste hinzufügen.
Dieses Attribut wurde in API-Ebene 14 hinzugefügt.
android:windowSoftInputMode
- Wie das Hauptfenster der Aktivität mit dem Fenster interagiert, das
Bildschirmtastatur ein. Die Einstellung für dieses Attribut betrifft zwei
Dinge:
<ph type="x-smartling-placeholder">
- </ph>
- Gibt an, ob die Bildschirmtastatur ein- oder ausgeblendet ist, wenn die Aktivität zum der Aufmerksamkeit der Nutzenden.
- Ob das Hauptfenster der Aktivität Verkleinerung verkleinert, um Platz für die Softtastatur oder ihren Inhalt zu schaffen Schwenken, um den aktuellen Fokus sichtbar zu machen, wenn ein Teil des Fensters von die Bildschirmtastatur verwenden.
Die Einstellung muss einer der Werte sein, die in der folgenden Tabelle aufgeführt sind, oder ein Kombination aus einem
"state..."
-Wert plus einem"adjust..."
-Wert Wert. Festlegen mehrerer Werte in einer der Gruppen, z. B. mehrere"state..."
-Werte, hat nicht definierte Ergebnisse. Einzelne Werte werden durch einen vertikalen Strich (|
) getrennt, wie im folgenden Beispiel gezeigt:<activity android:windowSoftInputMode="stateVisible|adjustResize" ... >
Hier festgelegte Werte (außer
"stateUnspecified"
und"adjustUnspecified"
) überschreiben die im Design festgelegten Werte.Wert Beschreibung "stateUnspecified"
Ob die Bildschirmtastatur ein- oder ausgeblendet ist nicht angegeben ist. Das System wählt einen geeigneten Status oder von der Einstellung im Thema. Dies ist die Standardeinstellung für das Verhalten der Bildschirmtastatur.
"stateUnchanged"
Die Tastatur bleibt in dem Status, in dem sie zuletzt verwendet wurde, sichtbar oder ausgeblendet, wenn die Aktivität in den Vordergrund rückt. "stateHidden"
Die Bildschirmtastatur wird ausgeblendet, wenn der Nutzer die Aktivität auswählt, wenn die Nutzenden aktiv zur anstatt sich beim Verlassen einer anderen Aktivität darauf zu verlassen. "stateAlwaysHidden"
Die Bildschirmtastatur ist im Hauptfenster der Aktivität immer ausgeblendet. Eingabefokus hat. "stateVisible"
Die Bildschirmtastatur wird eingeblendet, wenn der Nutzer das Aktivität, d. h. wenn die Nutzenden aktiv vorwärts navigieren anstatt sich auf die Aktivität zu verlassen, Aktivitäten. "stateAlwaysVisible"
Die Bildschirmtastatur ist sichtbar, wenn das Fenster den Eingabefokus erhält. "adjustUnspecified"
Legt fest, ob die Größe des Hauptfensters der Aktivität geändert wird um Platz für die Bildschirmtastatur oder des Schwenkens des Fensters, um den aktuellen Fokus auf dem Bildschirm sichtbar zu machen, ist nicht angegeben. Das System wählt automatisch einen dieser Modi aus, je nachdem, ob der Inhalt des Fensters Layoutansichten hat, Inhalte scrollen können. In diesem Fall wird das Fenster die gesamte Größe ändert, in der Annahme, dass durch Scrollen des Fensterinhalts ist in einem kleineren Bereich sichtbar. Dies ist die Standardeinstellung für das Verhalten des Hauptfensters.
"adjustResize"
Die Größe des Hauptfensters der Aktivität wird immer angepasst, um Platz für Bildschirmtastatur angezeigt. "adjustPan"
Die Größe des Hauptfensters der Aktivität wird nicht angepasst, um Platz für die weichen Daten zu schaffen. Tastatur. Stattdessen wird der Inhalt des Fensters automatisch schwenken, sodass der aktuelle Fokus nie von der Tastatur verdeckt wird, und die Nutzer sehen immer, was sie eingeben. Das ist in der Regel weniger sinnvoller als eine Größenanpassung, da Nutzende möglicherweise das weiche schließen um zu verdeckten Teilen des Fensters zu gelangen und mit diesen zu interagieren. Dieses Attribut wurde in API-Level 3 eingeführt.
- eingeführt in:
- API-Ebene 1 für alle Attribute außer
noHistory
undwindowSoftInputMode
, die in der API hinzugefügt wurden Stufe 3. - Siehe auch:
<application>
<activity-alias>
Alle Inhalte und Codebeispiele auf dieser Seite unterliegen den Lizenzen wie im Abschnitt Inhaltslizenz beschrieben. Java und OpenJDK sind Marken oder eingetragene Marken von Oracle und/oder seinen Tochtergesellschaften.
Zuletzt aktualisiert: 2024-08-22 (UTC).
[null,null,["Zuletzt aktualisiert: 2024-08-22 (UTC)."],[],[]]