Die NativeProcess-Klasse und ihre Fähigkeiten stehen nur AIR-Anwendungen zur Verfügung, die mit einem nativen Installationsprogramm installiert wurden (Anwendungen mit dem Profil „erweiterter Desktop“). Beim Debugging können Sie das
Unterstützung von AIR-Profilen: Diese Funktion wird von Anwendungen unterstützt, die über native Installer unter Desktopbetriebssystemen bereitgestellt werden. Die Funktion wird nicht auf mobilen Geräten oder Geräten mit AIR für TV unterstützt. Mit der
AIR-Anwendungen, die mit einem nativen Installationsprogramm installiert wurden (Anwendungen mit dem Profil „erweiterter Desktop“) können eine Anwendung auch mit
Hinweis: AIR-für-TV-Anwendungen, die das
#!/usr/bin/python # ------------------------------------------------------------------------------ # Sample Python script # ------------------------------------------------------------------------------ import sys for word in sys.argv: #echo the command line arguments print word print "HI FROM PYTHON" print "Enter user name" line = sys.stdin.readline() sys.stdout.write("hello," + line)
Wenn der
Wenn der
Falls NativeProcess erfolgreich beendet wird, wird ein
Eine NativeProcess-Instanz entspricht einem einzelnen Prozess auf dem zugrundeliegenden Betriebssystem. Wenn Sie mehrere Instanzen desselben Betriebssystemprozesses gleichzeitig ausführen möchten, können Sie für jeden untergeordneten Prozess eine NativeProcess-Instanz erstellen.
Sie können diese Methode aufrufen, wenn die
Die NativeProcess-Klasse und ihre Fähigkeiten stehen nur AIR-Anwendungen zur Verfügung, die mit einem nativen Installationsprogramm installiert wurden. Beim Debugging können Sie das
Wichtige Sicherheitsüberlegungen:
Die API für native Prozesse kann jede ausführbare Datei auf dem System des Benutzers ausführen. Seien Sie beim Konstruieren und Ausführen von Befehlen äußerst vorsichtig. Wenn ein Teil eines auszuführenden Befehls aus einer externen Quelle stammt, prüfen Sie sorgfältig, ob die Ausführung des Befehls sicher ist. Gleichermaßen sollte Ihre AIR-Anwendung Daten validieren, die an einen laufenden Prozess übergeben werden.
Die Validierung von Eingaben kann jedoch schwierig sein. Um diese Probleme zu vermeiden, schreiben Sie am besten eine native Anwendung (zum Beispiel eine EXE-Datei für Windows) mit spezifischen APIs. Diese APIs sollten nur diejenigen Befehle verarbeiten, die speziell für die AIR-Anwendung erforderlich sind. Zum Beispiel könnte die native Anwendung nur einen begrenzten Satz von Anweisungen über den Standardeingabestream akzeptieren.
AIR unter Windows lässt die direkte Ausführung von .bat-Dateien nicht zu. Windows-.bat-Dateien werden vom Befehlszeileninterpreter (cmd.exe) ausgeführt. Wenn Sie eine .bat-Datei aufrufen, kann diese Befehlsanwendung Argumente, die an den Befehl übergeben werden, als zusätzlich zu startende Anwendungen interpretieren. Durch das böswillige Einfügen von zusätzlichen Zeichen in den Argumentstring könnte cmd.exe eine schädliche oder unsichere Anwendung ausführen. Ohne eine gute Datenvalidierung könnte Ihre Anwendung zum Beispiel
Wenn Sie die
Der Typ ist IDataInput, da aus der Perspektive des aktuellen Prozesses Daten eingegeben werden, obwohl es sich um einen Ausgabestream des untergeordneten Prozesses handelt.
Der Typ ist IDataOutput, da aus der Perspektive des aktuellen Prozesses Daten ausgegeben werden, obwohl es sich um einen Eingabestream des untergeordneten Prozesses handelt.
Der Typ ist IDataInput, da aus der Perspektive des aktuellen Prozesses Daten eingegeben werden, obwohl es sich um einen Ausgabestream des untergeordneten Prozesses handelt.
Verwenden Sie die
Die InteractiveIcon-Klasse lässt sich nicht direkt instanziieren. Aufrufe des
Wenn ein Symbol in einem bestimmten Betriebssystemkontext angezeigt wird, wird die Bitmap aus dem Array verwendet, die der angezeigten Größe am nächsten kommt. Falls erforderlich, wird die Bitmap skaliert. Gebräuchliche Größen sind 16x16, 32x32, 48x48 und 128x128. (Mit einigen Betriebssystemen können in naher Zukunft Symbole in der Größe 512x512 Pixel verwendet werden.)
In bestimmten Kontexten verwendet das Betriebssystem möglicherweise ein Standardsymbol, wenn der
Um das Erscheinungsbild des Symbols festzulegen oder zu ändern, weisen Sie der
Das direkte Ändern des
Um das Symbolbild zu löschen, weisen Sie der
Hinweis: Beim Laden von Bilddateien für ein Symbol erzielen Sie die beste Alphamischung im Allgemeinen mit dem PNG-Dateiformat. Das GIF-Format unterstützt nur Transparenz oder keine Transparenz (keine Mischmodi). Das JPG-Format unterstützt keine Transparenz.
Einige Symbolkontexte unterstützen dynamische Größen. Die
Einige Symbolkontexte unterstützen dynamische Größen. Die
Die NativeDragActions-Konstanten werden als Werte für die
In einem
Die NativeApplication-Klasse bietet Informationen zur Anwendung sowie anwendungsumfassende Funktionen und löst Ereignisse auf Anwendungsebene aus.
Das NativeApplication-Objekt ist ein Singleton-Objekt, das beim Programmstart automatisch erstellt wird. Sie rufen die NativeApplication-Instanz einer Anwendung mit der statischen Eigenschaft
Hinweis: Dieses Ereignis wird auf mobilen Geräten oder auf Geräten mit AIR für TV nicht abgesetzt.
Wie lang die Inaktivitätsphase dazu sein muss, kann mit der
Geben Sie mithilfe der
Hinweis: Dieses Ereignis wird auf mobilen Geräten oder auf Geräten mit AIR für TV nicht abgesetzt.
Ein
Hinweise:
Das
AIR für TV setzt das
Hinweis: Beim Aufrufen der
Der Aufruf durch den Browser ist nur dann zulässig, wenn in der Anwendungsdeskriptordatei einer Anwendung Folgendes angegeben ist:
Wenn eine Anwendung ein zweites Mal aufgerufen wird, wird keine weitere Instanz der Anwendung gestartet. Stattdessen erhält die erste Instanz ein zusätzliches Aufrufereignis. Die Anwendung ist dafür zuständig, weitere
Hinweis: Alle
Diese Methode wird auf Plattformen, die die NativeWindow-Klasse nicht unterstützen, nicht unterstützt.
Unter Umständen, die vom Betriebssystem bestimmt werden, aktiviert diese Methode eine Anwendung nicht. Die meisten Betriebssysteme schränken die Möglichkeiten einer Anwendung, sich selbst zu aktivieren, ein. Damit soll verhindert werden, dass es die Anwendung dem Benutzer (absichtlich oder nicht) unmöglich macht, andere Anwendungen zu verwenden.
Wenn das Betriebssystem die Aktivierung zulässt, wird das festgelegte Fenster aktiviert und im Vordergrund des Desktops angezeigt, d. h. vor Fenstern anderer Anwendungen. (Wenn der
Die
Der Aktivierungsvorgang ist ein synchroner Vorgang.
Der Name der Funktion ist beliebig.
Funktionen von Mitgliedern auf Klassenebene werden nicht vom Garbagekollektor entfernt. Daher können Sie
Nachdem Sie einen Ereignis-Listener erfolgreich registriert haben, können Sie seine Priorität nicht durch weitere Aufrufe von
Nach der Registrierung des Listeners haben nachfolgende Aufrufe von
Sie können einen Ereignis-Listener nicht nur für die Ziel- oder Bubbling-Phase registrieren. Die beiden Phasen hängen während der Registrierung immer zusammen, da Bubbling nur für übergeordnete Elemente des Zielknotens gilt.
Wenn Sie einen Ereignis-Listener nicht mehr brauchen, entfernen sie ihn, indem Sie
Beim Kopieren einer EventDispatcher-Instanz werden zugewiesene Ereignis-Listener nicht kopiert. (Wenn ein neu angelegter Knoten einen Ereignis-Listener benötigt, müssen Sie den Listener nach dem Erstellen des Knotens zuweisen.) Wenn Sie jedoch eine EventDispatcher-Instanz verschieben, werden zugewiesene Ereignis-Listener ebenfalls verschoben.
Wenn der Ereignis-Listener bei einem Knoten registriert wird, während mit diesem Knoten ein Ereignis durchgeführt wird, so wird der Ereignis-Listener während der aktuellen Phase nicht ausgelöst, kann aber während einer späteren Phase im Ereignisablauf ausgelöst werden, etwa während der Bubbling-Phase.
Wird ein Ereignis-Listener von einem Knoten entfernt, während mit dem Knoten ein Ereignis durchgeführt wird, so wird er von den aktuellen Aktionen immer noch ausgelöst. Nachdem er entfernt worden ist, wird der Ereignis-Listener nicht wieder aufgerufen (es sei denn er wird für spätere Verarbeitungsvorgänge erneut aufgerufen).
Dieser Funktionsaufruf wird ignoriert, wenn das Objekt im Fokus den Befehl nicht implementiert. Derzeit implementieren nur Anzeigeobjekte, die von der TextField- oder HTMLLoader-Klasse abgeleitet sind, diesen Befehl.
Hinweis: Der
Dieser Funktionsaufruf wird ignoriert, wenn die Komponente den Befehl nicht implementiert. Derzeit implementieren nur Anzeigeobjekte, die von der TextField- oder HTMLLoader-Klasse abgeleitet sind, diesen Befehl.
Dieser Funktionsaufruf wird ignoriert, wenn die Komponente den Befehl nicht implementiert. Derzeit implementieren nur Anzeigeobjekte, die von der TextField- oder HTMLLoader-Klasse abgeleitet sind, diese Befehle.
Der Aufruf der
Beachten Sie, dass kein
Hinweis: Diese Methode wird vom iOS-Betriebssystem nicht unterstützt.
Hinweis: Diese Methode kann nur mit Dateitypen, die in der
Diese Methode gilt nicht für Geräte mit AIR für TV. Wenn Sie sie mit einem Dateityp aufrufen, der im Anwendungsdeskriptor deklariert wird, wird
Unterstützung von AIR-Profilen: Diese Funktion wird auf allen Desktopbetriebssystemen unterstützt, jedoch nicht auf mobilen Geräten oder Geräten mit AIR für TV. Mit der
Dieser Funktionsaufruf wird ignoriert, wenn die Komponente den Befehl nicht implementiert. Derzeit implementieren nur Anzeigeobjekte, die von der TextField- oder HTMLLoader-Klasse abgeleitet sind, diesen Befehl.
Hinweis: Diese Methode kann nur mit Dateitypen, die in der
Dieser Funktionsaufruf wird ignoriert, wenn die Komponente den Befehl nicht implementiert. Derzeit implementieren nur Anzeigeobjekte, die von der TextField- oder HTMLLoader-Klasse abgeleitet sind, diesen Befehl.
Hinweis: Diese Methode kann nur mit Dateitypen, die in der
Wenn das aktive Desktopfenster nicht zu dieser Anwendung gehört oder kein aktives Fenster vorhanden ist, weist
Diese Eigenschaft wird auf Plattformen, die die NativeWindow-Klasse nicht unterstützen, nicht unterstützt.
Der Wert dieser ID wird in der Anwendungsdeskriptordatei festgelegt.
Wenn
Diese Eigenschaft wird auf Plattformen, die die NativeWindow-Klasse nicht unterstützen, nicht unterstützt.
Mit
Das
Standardmäßig ist der Leerlaufwert auf 300 Sekunden (5 Minuten) eingestellt. Der Bereich der erlaubten Werte reicht von (einschließlich) 5 (5 Sekunden) bis 86.400 (ein Tag).
Anwendungsmenüs werden unterstützt, wenn
AIR-Profilunterstützung: Diese Funktion wird auf mobilen Geräten oder Geräten mit AIR für TV nicht unterstützt. Weitere Informationen zum AIR-Support über mehrere Profile finden Sie unter
Hinweis: Unter Mac OS X verweist die Eigenschaft
Diese Eigenschaft wird auf Plattformen, die die NativeWindow-Klasse nicht unterstützen, nicht unterstützt.
Der Wert dieser ID wird in der publisherid-Datei der Anwendung festgelegt. Diese Datei wird bei der Installation aus der Zertifikatskette, mit der die Anwendung signiert wird, generiert.
Unterstützung von AIR-Profilen: Diese Funktion wird auf allen Desktopbetriebssystemen unterstützt, jedoch nicht auf mobilen Geräten oder Geräten mit AIR für TV. Mit der
Die
Bei dem Wert
Wenn der Wert
Die Benutzeroberfläche von Mac OS X verfügt über ein Anwendungs-„Dock“ mit Symbolen für Anwendungen, die zurzeit ausgeführt oder häufig verwendet werden.
Sie sollten die
Bei der Einstellung
Sie sollten die
Bei dem Wert
Wenn der Wert
Die Windows-Benutzeroberfläche verfügt über den Infobereich („System Tray“) in der Taskleiste, in dem Anwendungssymbole angezeigt werden können. Es wird kein Standardsymbol angezeigt. Sie müssen das
Sie sollten die
Ein Wert aus der SystemIdleMode-Klasse, um das Verhalten des Hostsystems im Leerlauf zu beeinflussen. Diese Eigenschaft wirkt sich nur auf die Anwendung mit dem Eingabefokus aus; und nur Inhalt, der in der Anwendungssandbox ausgeführt wird, kann auf diese Eigenschaft zugreifen.
Unterstützung von AIR-Profilen: Diese Funktion wird auf mobilen Geräten unterstützt, nicht jedoch auf Desktopbetriebssystemen oder Geräten mit AIR für TV. Weitere Informationen zum AIR-Support über mehrere Profile finden Sie unter
Die Updater-Klasse wird nur im Desktop-Profil unterstützt. Sie wird weder für erweiterte Desktop-Anwendungen (Anwendungen, die mit einem nativen Installer installiert werden) noch im Mobil-AIR-Profil oder in AIR-für-TV-Profilen unterstützt. Überprüfen Sie die
Erweiterte Desktop-Anwendungen (Anwendungen, die mit einem nativen Installer installiert werden) können eine neue Version des nativen Installers herunterladen und diesen mithilfe der
Durch den Aufruf dieser Methode wird die aktuelle Anwendung beendet (wie beim Aufruf der
Unabhängig davon, ob die Aktualisierung erfolgreich verläuft oder nicht, startet der Aktualisierungsprozess die Anwendung neu. Aktualisierungen können aus verschiedenen Gründen fehlschlagen, zum Teil, ohne dass die Anwendung Einfluss darauf nehmen kann (zum Beispiel, wenn der Benutzer nicht über die Berechtigung zum Installieren der Anwendung verfügt). Anwendungen sollten fehlgeschlagene Versuche erkennen und den fehlgeschlagenen Vorgang nicht wiederholen. Die resultierende unendliche Schleife würde die Anwendung praktisch deaktivieren. Eine Möglichkeit, den Erfolg einer Aktualisierung zu überprüfen, besteht darin, die aktuelle Versionsnummer vor der Aktualisierung in eine Datei zu schreiben und sie dann mit der Versionsnummer nach dem Neustart der Anwendung zu vergleichen.
Wenn Sie eine Anwendung mit dem AIR Debug Launcher (ADL) testen, führt der Aufruf der
Wenn unter Mac OS eine aktualisierte Version der Anwendung installiert werden soll, benötigt der Benutzer die entsprechenden Systemberechtigungen, um im Anwendungsverzeichnis zu installieren. Unter Windows und Linux benötigt der Benutzer Administratorberechtigungen.
Wenn für die aktualisierte Version der Anwendung eine aktualisierte Version der Laufzeitumgebung erforderlich ist, wird die neue Laufzeitversion installiert. Um die Laufzeitumgebung zu aktualisieren, muss der Benutzer über Administratorberechtigungen für den Computer verfügen.
Hinweis: Aus Sicherheitsgründen ist die Angabe des
Unterstützung von AIR-Profilen: Diese Funktion wird auf Desktopbetriebssystemen unterstützt, jedoch nicht auf mobilen Geräten oder Geräten mit AIR für TV. Weitere Informationen zum AIR-Support über mehrere Profile finden Sie unter
Nicht alle Desktop-Betriebssysteme verfügen über Infobereich-Symbole. Überprüfen Sie
Es kann keine Instanz der SystemTrayIcon-Klasse erstellt werden. Rufen Sie das Objekt, das das Infobereichsymbol darstellt, von der
Wenn Infobereichsymbole unterstützt werden, hat das Symbol den Typ SystemTrayIcon. Andernfalls weist
Wichtig: Beim Versuch, eine Methode der SystemTrayIcon-Klasse für das
Wenn ein Symbol in einem bestimmten Betriebssystemkontext angezeigt wird, wird die Bitmap aus dem Array verwendet, die der angezeigten Größe am nächsten kommt. Falls erforderlich, wird die Bitmap skaliert. Gebräuchliche Größen sind 16x16, 32x32, 48x48 und 128x128. (Mit einigen Betriebssystemen können in naher Zukunft Symbole in der Größe 512x512 Pixel verwendet werden.)
In bestimmten Kontexten verwendet das Betriebssystem möglicherweise ein Standardsymbol, wenn der
Um das Erscheinungsbild des Symbols festzulegen oder zu ändern, weisen Sie der
Das direkte Ändern des
Um das Symbolbild zu löschen, weisen Sie der
Hinweis: Beim Laden von Bilddateien für ein Symbol erzielen Sie die beste Alphamischung im Allgemeinen mit dem PNG-Dateiformat. Das GIF-Format unterstützt nur Transparenz oder keine Transparenz (keine Mischmodi). Das JPG-Format unterstützt keine Transparenz.
Einige Symbolkontexte unterstützen dynamische Größen. Die
Einige Symbolkontexte unterstützen dynamische Größen. Die
Ein Clipboard-Objekt kann dieselben Informationen in mehreren Formaten enthalten. Auf diese Weise ist die Wahrscheinlichkeit größer, dass eine andere Anwendung diese Informationen verwenden kann. Mit der
Die Standardformate sind:
Stringkonstanten für die Namen der Standardformate sind in der ClipboardFormats-Klasse definiert.
Wenn eine Übertragung zum oder vom Betriebssystem stattfindet, werden die Standardformate automatisch zwischen
Sie können von der Anwendung definierte Formate verwenden, um einem Clipboard-Objekt
Wenn es rechnerisch aufwendig ist, die zu übertragenden Informationen in ein bestimmtes Format zu konvertieren. können Sie den Namen einer Funktion bereitstellen, die die Konvertierung ausführt. Die Funktion wird nur dann aufgerufen, wenn das betreffende Format von der Empfängerkomponente der Anwendung gelesen wird. Mit der
Hinweis für AIR-Anwendungen: Das Clipboard-Objekt, auf das von den Ereignisobjekten verwiesen wird, welche bei HTML-Ziehen-und-Ablegen- sowie Kopier-und Einfügeereignissen ausgelöst werden, hat nicht denselben Typ wie AIR-Clipboard-Objekte. Das JavaScript-Clipboard-Objekt wird im AIR Entwicklerhandbuch beschrieben.
Hinweis für Flash Player-Anwendungen: In Flash Player 10 erfordert ein Einfügevorgang aus der Zwischenablage ein durch den Benutzer ausgelöstes Ereignis (z. B. Tastaturbefehl, „Einfügen“-Befehl, Mausklick auf den „Einfügen“-Befehl in einem Kontextmenü).
Unter Linux werden Daten in der Zwischenablage gelöscht, wenn die AIR-Anwendung geschlossen wird.
Hinweis: Aufgrund von Sicherheitseinschränkungen beim Zugriff auf Daten in der Zwischenablage funktioniert dieses Beispiel in Flash Player nicht. In Flash Player können Sie die
Erstellen Sie Clipboard-Objekte, um die Daten einer nativen Drag & Drop-Geste in Adobe AIR aufzunehmen. Clipboard-Objekte können nur für eine Drag & Drop-Geste verwendet werden; sie lassen sich nicht wiederverwenden.
Erstellen Sie Clipboard-Objekte nicht für Kopieren-und-Einfügen-Vorgänge. Verwenden Sie stattdessen ein einzelnes
Hinweis: Verwenden Sie für Kopieren-und-Einfügen-Vorgänge, die die Zwischenablage einbeziehen, das
In Flash Player muss die
Wenn auf ein Standarddatenformat zugegriffen wird, werden die Daten als ein neues Objekt des entsprechenden Flash-Datentyps zurückgegeben.
Wenn auf ein von der Anwendung definiertes Format zugegriffen wird, bestimmt der Wert des
Verwenden Sie für Verweise auf Standardformatnamen die Konstanten der ClipboardFormats-Klasse.
Verwenden Sie eine Prozedurfunktion, um die Erstellung oder Wiedergabe der Daten zurückzustellen, bis tatsächlich auf sie zugegriffen wird.
Die Prozedurfunktion muss den entsprechenden Datentyp für das angegebene Format zurückweisen:
Die Prozedurfunktion wird nur dann aufgerufen, wenn die Daten im angegebenen Format gelesen werden. Beachten Sie, dass in einigen Fällen das Betriebssystem die Funktion aufruft, bevor ein Ablegen erfolgt. Wenn Sie zum Beispiel eine Prozedurfunktion verwenden, um die Daten für eine Datei, die aus einer AIR-Anwendung in das Betriebssystem gezogen wird, bereitzustellen, ruft das Betriebssystem die Datenprozedur auf, sobald die Ziehen-Geste die AIR-Anwendung verlässt. Dies führt normalerweise zu einer unerwünschten Pause, da die Dateidaten heruntergeladen oder erstellt werden. Sie können stattdessen eine URLFilePromise zu diesem Zweck verwenden.
Beachten Sie, dass die zugrunde liegenden Daten zwischen dem Hinzufügen der Prozedur und dem Lesen der Daten geändert werden können, falls Ihre Anwendung die Daten nicht schützt. Das Verhalten, das auftritt, wenn durch eine Prozedurfunktion dargestellte Daten in der Zwischenablage mehrmals gelesen werden, kann nicht garantiert werden. Die Zwischenablage gibt entweder die Daten zurück, die durch den ersten Funktionsaufruf generiert wurden, oder die Funktion wird erneut aufgerufen. Keine der beiden Verhaltensweisen kann garantiert werden.
In der Anwendungssandbox von Adobe AIR kann
Wenn Sie diesem Clipboard-Objekt Daten direkt hinzufügen möchten, verwenden Sie stattdessen die
Hinweis: Wenn Sie auf Mac OS den
In der Anwendungssandbox von Adobe AIR kann
Verschiedene Darstellungen derselben Informationen können der Zwischenablage in verschiedenen Formaten hinzugefügt werden, sodass anderen Komponenten oder Anwendungen die verfügbaren Daten mit größerer Wahrscheinlichkeit nutzen können. Ein Bild kann zum Beispiel in Form von Bitmapdaten für Bildbearbeitungsanwendungen hinzufügt werden, als URL und als codierte PNG-Datei für die Übertragung in das native Dateisystem.
Der data-Parameter muss den entsprechenden Datentyp für das angegebene Format aufweisen:
Benutzerdefinierte Formatnamen dürfen nicht mit „air:“ oder „flash:“ beginnen. Um Konflikte bei der Benennung zu vermeiden, wenn Sie benutzerdefinierte Formate verwenden, können Sie die Anwendungs-ID oder einen Paketnamen als Präfix für den Formatnamen verwenden, zum Beispiel „com.example.applicationName.dataPacket“.
Beim Übertragen innerhalb von oder zwischen Anwendungen bestimmt der
Hinweis: Die Standardformate werden immer in native Formate konvertiert, wenn Daten außerhalb einer unterstützten Anwendung eingefügt oder gezogen werden, sodass der Wert des
Verwenden Sie stattdessen die
Hinweis: Wenn Sie auf Mac OS den
Stringkonstanten für die Namen der Standardformate sind in der ClipboardFormats-Klasse definiert. Auch andere durch die Anwendung definierte Strings können als Formatnamen für die Übertragung von Daten als Objekt verwendet werden.
Alle Daten, die in die Zwischenablage kopiert werden, sind für andere Anwendungen verfügbar. Dazu kann auch unsicherer Remotecode gehören, der in einem Webbrowser ausgeführt wird.
Hinweis: In Flash Player 10-Anwendungen erfordert ein Einfügevorgang aus der Zwischenablage ein durch den Benutzer ausgelöstes Ereignis (z. B. Tastaturbefehl, „Einfügen“-Befehl, Mausklick auf den „Einfügen“-Befehl in einem Kontextmenü).
Das
Sie sollten die Zwischenablage immer leeren, bevor Sie neue Daten hineinschreiben, um sicher zu sein, dass alte Daten aller Formate gelöscht wurden.
Das
Eine Dateizusage ist ein Drag-and-Drop-Zwischenablageformat, das es einem Benutzer ermöglicht, eine Datei, die noch nicht vorhanden ist, aus einer AIR-Anwendung zu ziehen. AIR verwendet die Methoden und Eigenschaften, die von der IFilePromise-Schnittstelle definiert werden, um auf die zu schreibenden Daten zuzugreifen, wenn die Dateizusage abgelegt wird.
Wenn eine Dateizusage auf einem geeigneten Ziel abgelegt wird, ruft AIR die
Wenn synchron auf die Daten vom Datenprovider zugegriffen wird, wie zum Beispiel bei einem ByteArray, liest AIR die Menge der Daten, die von der
Wenn asynchron auf die Daten vom Datenprovider zugegriffen wird, wie zum Beispiel bei einem Socket, verwendet AIR die Ereignisse, die vom Provider abgesetzt werden, um den Datenleseprozess zu steuern und die Daten in die Datei zu schreiben. Daten werden bei jedem Fortschrittsereignis gelesen, bis ein complete- oder close-Ereignis empfangen wird. Die Laufzeitumgebung wartet auf die folgenden Ereignisse (ein Datenprovider muss jedoch nicht jedes Ereignis absetzen):
Benutzerdefinierte Datenproviderklassen sollten entweder ein
Die von IFilePromise definierten Methoden sind nur dazu gedacht, von der AIR-Laufzeitumgebung aufgerufen zu werden, nachdem ein Drag-and-Drop-Vorgang abgeschlossen wurde. Entwickler sollten diese Methoden normalerweise nicht aus ihrem eigenen Code aufrufen.
Hinweis: Die URLFilePromise-Klasse, verfügbar in der air.desktop-Bibliothek, implementiert die IFilePromise-Schnittstelle und verwendet den URLStream als Datenprovider. Die air.desktop-Bibliothek ist in Form separater SWF- und SWC-Dateien im AIR-SDK verfügbar.
Es werden keine Methoden für den Objektverweis aufgerufen, der von der
Das Datenproviderobjekt muss die IDataInput-Schnittstelle implementieren, die Methoden zum Lesen der Daten definiert. Wenn die
Sie können auch ein Objekt einer benutzerdefinierten Klasse bereitstellen, die die erforderlichen Schnittstellen implementiert (oder eine andere Klasse erweitert, die sie implementiert).
Bei dem Wert
Wenn
Diese Eigenschaft muss einen gültigen Pfad bereitstellen oder es wird ein Argumentfehler ausgegeben, wenn die Dateizusage abgelegt wird.
Der Pfad kann Unterverzeichnisse enthalten, die basierend auf dem Ablegeziel aufgelöst werden. Die Unterverzeichnisse werden erstellt, falls erforderlich. Wenn Unterverzeichnisse einbezogen werden, verwenden Sie die
Hinweis: Damit Client-Code den Pfad festlegen kann, können Sie eine Setter-Funktion mit der folgenden Signatur implementieren:
Der Zugriff auf native Prozesse ist nur bei AIR-Anwendungen verfügbar, die mit nativen Installationsprogrammen installiert wurden (Anwendungen im Profil „erweiterter Desktop“).
Jeder String im
Hinweis: Um unter Mac OS eine ausführbare Datei innerhalb eines Anwendungspakets zu starten, muss der Pfad des File-Objekts den vollständigen Pfad der ausführbaren Datei (innerhalb des Pakets) enthalten, nicht nur den Pfad zu der Anwendungsdatei.
Unter Android muss die Anwendung die Android-Berechtigungen für DISABLE_KEYGUARD und WAKE_LOCK im Anwendungsdeskriptor spezifizieren, andernfalls beachtet das Betriebssystem diese Einstellung nicht.
Der Übertragungsmodus gibt einen Hinweis darauf, ob ein Verweis oder eine Kopie zurückgegeben werden soll, wenn auf ein in der Zwischenablage enthaltenes Objekt zugegriffen wird.
Die folgenden Datentypen können übertragen werden:
Hinweis: Alle NativeDragManager-Mitglieder sind statisch. Es muss keine Instanz dieser Klasse erstellt werden.
Ein Ziehen-und-Ablegen-Vorgang ist eine Bewegung auf der Benutzeroberfläche, die mit dem Klicken auf ein sichtbares Element beginnt, das dann an eine andere Position gezogen wird. Während der Ziehbewegung durch das AIR-Anwendungsfenster lösen interaktive Objekte in der Anzeigeliste native Ziehereignisse aus. Prozeduren für diese Ereignisse können Methoden der NativeDragManager-Klasse aufrufen, um anzuzeigen, ob das gezogene Element auf einem anderen Objekt abgelegt werden kann. Daraufhin ändert der NativeDragManager den Mauszeiger, sodass der Benutzer informiert wird.
AIR-Profilunterstützung: Diese Funktion wird auf Geräten mit AIR für TV nicht unterstützt. Des Weiteren wird sie nicht auf allen mobilen Geräten unterstützt. Mit der
Ziehen-Aktionen
Ziehen-und-Ablegen-Bewegungen werden normalerweise für drei Arten von Vorgängen, Aktionen genannt, verwendet. Da die Bedeutung dieser Aktionen vom Anwendungskontext abhängig ist, wird zur Laufzeit kein bestimmtes Verhalten bezüglich der Aktionen erzwungen. Mit der richtigen Implementierung der Aktionen können Sie die Benutzerfreundlichkeit der Anwendung jedoch verbessern.
Mögliche Aktionen sind:
Die zulässigen Aktionen können für eine Ziehbewegung festgelegt werden, indem ein
Wenn ein Ablageziel nur eine einzelne Aktion implementiert, kann das Objekt die
Wenn das Ablegen akzeptiert wird, sollte ein potenzielles Ablageziel die gewählte Aktion anzeigen, indem die
Stringkonstanten für die Aktionsnamen sind in der NativeDragActions-Klasse definiert.
Reihenfolge der Ereignisse
Die Ziehbewegung beginnt mit dem Aufruf der
Bewegungen zwischen Anwendungen
Wenn ein Element aus einer Nicht-AIR-Anwendung in ein AIR-Anwendungsfenster gezogen wird, gibt es kein Initiatorobjekt, das die Ereignisse
Wenn ein Element aus einem AIR-Anwendungsfenster hinausgezogen wird, gibt es kein Zielobjekt, das die Ereignisse
Wenn ein Element aus einer AIR-Anwendung in eine andere gezogen wird, lösen die Initiator- und Zielanzeigeobjekte wie gewohnt Ereignisse in den jeweiligen Anwendungen aus.
Übertragen von Informationen
Die Daten, die beim Ziehen und Ablegen übertragen werden, sind in einem Clipboard-Objekt enthalten. Dieses Datenobjekt wird dem Ziehvorgang mit der
Sicherheitserwägungen
Die Sicherheits-Sandboxen des Initiator- und des potenziellen Zielobjekts bestimmen, wie auf die gezogenen Daten zugegriffen werden kann. Wenn sich beide Objekte in derselben Sandbox befinden, kann von jedem NativeDragEvent-Objekt auf die Daten zugegriffen werden. Befinden sich die Initiator- und Zielobjekte dagegen in unterschiedlichen Sandboxen, kann nur in der Ziel-Sandbox innerhalb der Ereignisprozedur für das
Diese Methode sollte nur aufgerufen werden, wenn es im angegebenen Zielobjekt eine
Diese Funktion kann nur innerhalb einer
So starten Sie einen Ziehvorgang:
Das Initiatorobjekt löst ein
Diese Methode kann nur von einer
Die
Ziehaktionen sind Teil eines Rückmeldungsmechanismus, um dem auslösenden Objekt und dem Zielobjekt die Zusammenarbeit beim Ziehen und Ablegen zu ermöglichen. Die Aktionen sind nur ein Hinweis für das Betriebssystem. Es liegt am Auslöser des Ziehvorgangs und an den Zielobjekten, die an der Transaktion beteiligt sind, das richtige Verhalten zu implementieren.
Ein auslösendes Objekt sollte nur die Aktionen zulassen, die es auch unterstützt. Ein auslösendes Objekt sollte zum Beispiel nur dann die move-Aktion zulassen, wenn die interne Logik des Objekts die Quelldaten entfernt, wenn ein Ziel das Ablegen im Rahmen einer Verschiebungsaktion zulässt.
Bei einem neuen NativeDragOptions-Objekt sind alle Eigenschaften auf
Unterstützung von AIR-Profilen: Diese Funktion wird auf allen Desktopbetriebssystemen unterstützt, jedoch nicht auf mobilen Geräten oder Geräten mit AIR für TV. Mit der
Mit der DockIcon-Klasse können Sie das Erscheinungsbild des Standardsymbols ändern. Sie können das Symbol zum Beispiel animieren oder Informationsgrafiken hinzufügen. Sie können dem Dock-Symbolmenü auch Elemente hinzufügen. Die hinzugefügten Menüelemente werden über den Standardmenüelementen angezeigt.
Es kann keine Instanz der DockIcon-Klasse erstellt werden. Rufen Sie das Objekt, welches das Docksymbol des Betriebssystems darstellt, aus
Nicht alle Betriebssysteme verfügen über Docksymbole. Überprüfen Sie
Wichtig: Beim Versuch, eine Methode der DockIcon-Klasse für das
Beim Aufrufen dieser Methode beginnt das Dock-Symbol zu „springen“, jedoch nur, wenn sich die Anwendung im Hintergrund befindet. Wenn
Wenn ein Symbol in einem bestimmten Betriebssystemkontext angezeigt wird, wird die Bitmap aus dem Array verwendet, die der angezeigten Größe am nächsten kommt. Falls erforderlich, wird die Bitmap skaliert. Gebräuchliche Größen sind 16x16, 32x32, 48x48 und 128x128. (Mit einigen Betriebssystemen können in naher Zukunft Symbole in der Größe 512x512 Pixel verwendet werden.)
In bestimmten Kontexten verwendet das Betriebssystem möglicherweise ein Standardsymbol, wenn der
Um das Erscheinungsbild des Symbols festzulegen oder zu ändern, weisen Sie der
Das direkte Ändern des
Um das Symbolbild zu löschen, weisen Sie der
Hinweis: Beim Laden von Bilddateien für ein Symbol erzielen Sie die beste Alphamischung im Allgemeinen mit dem PNG-Dateiformat. Das GIF-Format unterstützt nur Transparenz oder keine Transparenz (keine Mischmodi). Das JPG-Format unterstützt keine Transparenz.
Einige Symbolkontexte unterstützen dynamische Größen. Die
Alle Elemente im Menü werden über den Standardelementen angezeigt. Die Standardelemente können nicht geändert oder entfernt werden.
Einige Symbolkontexte unterstützen dynamische Größen. Die
Ein Icon-Objekt hat eine Eigenschaft,
Wenn ein Symbol in einem bestimmten Betriebssystemkontext angezeigt wird, wird die Bitmap aus dem Array verwendet, die der angezeigten Größe am nächsten kommt. Falls erforderlich, wird die Bitmap skaliert. Gebräuchliche Größen sind 16x16, 32x32, 48x48 und 128x128. (Mit einigen Betriebssystemen können in naher Zukunft Symbole in der Größe 512x512 Pixel verwendet werden.)
In bestimmten Kontexten verwendet das Betriebssystem möglicherweise ein Standardsymbol, wenn der
Um das Erscheinungsbild des Symbols festzulegen oder zu ändern, weisen Sie der
Das direkte Ändern des
Um das Symbolbild zu löschen, weisen Sie der
Hinweis: Beim Laden von Bilddateien für ein Symbol erzielen Sie die beste Alphamischung im Allgemeinen mit dem PNG-Dateiformat. Das GIF-Format unterstützt nur Transparenz oder keine Transparenz (keine Mischmodi). Das JPG-Format unterstützt keine Transparenz.