La classe NativeProcess et ses fonctionnalités sont disponibles uniquement sur des applications AIR installées avec un programme d’installation natif (applications dotées d’un profil étendu de bureau). Lors du débogage, vous pouvez transmettre l’argument
Prise en charge du profil AIR : cette fonctionnalité est prise en charge sur les applications déployées sur des systèmes d’exploitation de bureau via des programmes d’installation natifs. Cette fonctionnalité n’est pas prise en charge sur les périphériques mobiles ou sur les périphériques AIR pour TV. Vous pouvez tester la prise en charge lors de l’exécution à l’aide de la propriété
Les applications AIR installées avec un programme d’installation natif (applications dotées d’un profil étendu de bureau) peuvent également utiliser
Remarque : les applications AIR pour TV faisant appel au profil
#!/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)
Si le paramètre
Si le paramètre
S’il s’avère impossible de quitter le processus natif, il distribue un événement
Une occurrence de NativeProcess correspond à un processus unique sur le système d’exploitation sous-jacent. Si vous souhaitez exécuter simultanément plusieurs occurrences du même processus sur le système d’exploitation, vous devez créer une occurrence de NativeProcess par processus enfant.
Vous pouvez appeler cette méthode chaque fois que la propriété
La classe NativeProcess et ses fonctionnalités sont disponibles uniquement sur des applications AIR installées avec un programme d’installation natif. Lors du débogage, vous pouvez transmettre l’argument
Consignes de sécurité importantes :
L’API du processus natif peut lancer tout fichier exécutable sur le système de l’utilisateur. Prenez un soin extrême lorsque vous générez et exécutez des commandes. Si l’une des parties d’une commande à exécuter provient d’une source externe, vérifiez bien qu’il est possible d’exécuter la commande en toute sécurité. De même, votre application AIR doit valider les données transmises à un processus en cours.
Il peut néanmoins s’avérer difficile de vérifier la source d’entrée. Pour éviter de telles difficultés, il est préférable d’écrire une application native (par exemple un fichier EXE sous Windows) qui dispose d’API spécifiques. Ces API doivent traiter uniquement les commandes requises expressément par l’application AIR. Par exemple, il est possible que l’application n’accepte qu’un nombre limité d’instructions via le flux d’entrée standard.
L’application AIR sous Windows ne vous autorise pas à exécuter des fichiers .bat directement. Les fichiers .bat Windows sont exécutés par l’interpréteur de commande (cmd.exe). Lorsque vous appelez un fichier .bat, cette application de commande peut interpréter les arguments transmis à la commande comme d’autres applications à lancer. Si des caractères supplémentaires sont ajoutés de façon malintentionnée dans la chaîne d’arguments, le fichier cmd.exe risque d’exécuter une application nuisible ou non sécurisée. Par exemple, si les données ne sont pas correctement validées, votre application AIR peut appeler
Si vous appelez la méthode
Le type est IDataInput, car l’entrée des données est considérée depuis la perspective du processus en cours, même s’il s’agit d’un flux de sortie du processus enfant.
Le type est IDataOutput, car la sortie des données est considérée depuis la perspective du processus en cours, même s’il s’agit d’un flux d’entrée du processus enfant.
Le type est IDataInput, car l’entrée des données est considérée depuis la perspective du processus en cours, même s’il s’agit d’un flux de sortie du processus enfant.
Utilisez la propriété
Il est impossible d’instancier directement la classe InteractiveIcon. Les appels au constructeur
Lorsqu’une icône est affichée dans le contexte d’un certain système d’exploitation, l’image bitmap du tableau se rapprochant le plus de la taille affichée est utilisée (et éventuellement mise à l’échelle). Les tailles courantes sont 16x16, 32x32, 48x48 et 128x128 (des icônes de 512x512 pixels peuvent être utilisées pour des système d’exploitation futurs).
Dans certains cas, le système d’exploitation peut utiliser une icône système par défaut lorsque rien n’a été affecté à la propriété
Pour définir ou modifier l’apparence de l’icône, affectez un tableau d’objets bitmapData à la propriété
La modification directe du tableau
Pour effacer l’image de l’icône, affectez un tableau vide à la propriété
Remarque : lors du chargement de fichiers image pour une icône, le format de fichier PNG fournit généralement la meilleure fusion alpha. Le format GIF ne prend en charge que l’activation ou la désactivation de la transparence (pas la fusion). Le format JPG ne prend pas en charge la transparence du tout.
Certains contextes d’icône prennent en charge les tailles dynamiques. La propriété
Certains contextes d’icône prennent en charge les tailles dynamiques. La propriété
Les constantes NativeDragActions sont utilisées comme valeurs pour la propriété
Dans un événement
La classe NativeApplication fournit des informations sur l’application et sur ses fonctions, et déclenche des événements au niveau de l’application.
L’objet NativeApplication est un objet Singleton créé automatiquement au démarrage. Récupérez l’occurrence NativeApplication d’une application avec la propriété statique
Remarque : cet événement n’est pas distribué sur les périphériques mobiles ou les périphériques AIR pour TV.
La durée à partir de laquelle l’inactivité est avérée peut être configurée avec la propriété
Spécifiez la période durant laquelle un utilisateur doit être inactif avant la distribution de cet événement, à l’aide de la propriété
Remarque : cet événement n’est pas distribué sur les périphériques mobiles ou les périphériques AIR pour TV.
Un événement
Remarques :
L’événement
Les périphériques AIR pour TV ne distribuent jamais l’événement
Remarque : un appel à la méthode
L’invocation d’un navigateur n’est autorisée que si l’application spécifie les éléments suivants dans son fichier descripteur :
La seconde invocation d’une application ne démarre pas une autre occurrence de l’application. A la place, la première occurrence reçoit un événement invoke supplémentaire. L’application est chargée de gérer les prochains événements
Remarque : tous les événements
Cette méthode n’est pas prise en charge sur les plates-formes qui ne prennent pas en charge la classe NativeWindow.
Selon les circonstances déterminées par le système d’exploitation, cette méthode n’active pas d’application. La plupart des systèmes d’exploitation limitent la capacité d’une application à s’activer elle-même pour qu’elle ne puisse pas empêcher l’utilisateur d’employer d’autres applications, accidentellement ou non.
Si le système d’exploitation autorise l’activation, la fenêtre spécifiée est activée et ramenée au premier plan, c’est-à-dire par-dessus les fenêtres des autres applications éventuellement ouvertes (Si le paramètre
La méthode
L’opération active est synchrone.
Le nom de cette fonction n’a aucune importance.
Les fonctions de membres de niveau classe n’étant pas soumises au nettoyage, vous pouvez définir
Après l’enregistrement d’un écouteur d’événement, vous ne pouvez plus modifier sa priorité par d’autres appels de
N’oubliez pas qu’une fois l’écouteur enregistré, tous les prochains appels de
Il est impossible d’enregistrer un écouteur d’événement uniquement pour la phase cible ou la phase de propagation vers le haut. Ces deux phases sont associées pendant l’enregistrement car la propagation vers le haut s’applique uniquement aux ancêtres du nœud cible.
Si vous n’avez plus besoin d’un écouteur d’événements, supprimez-le en appelant
Lors de la copie d’une occurrence d’EventDispatcher, les écouteurs d’événement qui lui sont associés ne sont pas pris en compte (si le nouveau nœud nécessite un écouteur d’événement, vous devez associer celui-ci après la création du nœud). Toutefois, si vous déplacez une occurrence d’EventDispatcher, les écouteurs d’événement qui lui sont associés la suivent.
Si un écouteur d’événement est enregistré sur un nœud alors qu’un événement est en cours de traitement sur ce nœud, l’écouteur n’est pas déclenché pendant la phase actuelle, mais il peut l’être pendant une phase ultérieure du flux d’événements, telle que la phase de propagation vers le haut (bubbling).
Si un écouteur d’événement est supprimé d’un nœud sur lequel un événement est en cours de traitement, il est cependant déclenché par les actions en cours. Une fois supprimé, l’écouteur d’événement n’est plus jamais appelé (à moins d’être réenregistré à des fins de traitement ultérieur).
Cet appel de fonction est ignoré si l’objet qui a le focus n’implémente pas la commande. Seuls les objets d’affichage descendant des classes TextField ou HTMLLoader peuvent implémenter cette commande actuellement.
Remarque : la commande
Cet appel de fonction est ignoré si le composant n’implémente pas la commande. Seuls les objets d’affichage descendant des classes TextField ou HTMLLoader peuvent implémenter cette commande actuellement.
Cet appel de fonction est ignoré si le composant n’implémente pas la commande. Seuls les objets d’affichage descendant des classes TextField ou HTMLLoader peuvent implémenter ces commandes actuellement.
L’appel à la méthode
Notez qu’aucun événement
Remarque : cette méthode n’est pas prise en charge sur le système d’exploitation iOS.
Remarque : cette méthode ne peut être utilisée qu’avec les types de fichiers déclarés dans l’instruction
Cette méthode n’est pas applicable aux périphériques AIR pour TV. Si vous l’appelez avec un type de fichier déclaré dans le descripteur d’application, elle renvoie
Prise en charge du profil AIR : cette fonctionnalité est prise en charge sur tous les systèmes d’exploitation de bureau, mais ne l’est pas sur les périphériques mobiles ou les périphériques AIR pour TV. Vous pouvez tester la prise en charge lors de l’exécution à l’aide de la propriété
Cet appel de fonction est ignoré si le composant n’implémente pas la commande. Seuls les objets d’affichage descendant des classes TextField ou HTMLLoader peuvent implémenter cette commande actuellement.
Remarque : cette méthode ne peut être utilisée qu’avec les types de fichiers énumérés dans l’instruction
Cet appel de fonction est ignoré si le composant n’implémente pas la commande. Seuls les objets d’affichage descendant des classes TextField ou HTMLLoader peuvent implémenter cette commande actuellement.
Remarque : cette méthode ne peut être utilisée qu’avec les types de fichiers déclarés dans l’instruction
Si la fenêtre du bureau active n’appartient pas à cette application ou s’il n’y a pas de fenêtre active, la propriété
Cette propriété n’est pas prise en charge sur les plates-formes qui ne prennent pas en charge la classe NativeWindow.
La valeur de cet ID est définie dans le fichier descripteur de l’application.
Lorsque
Cette propriété n’est pas prise en charge sur les plates-formes qui ne prennent pas en charge la classe NativeWindow.
Utilisez
L’objet
Par défaut, le seuil d’inactivité est de 300 secondes (5 minutes). La plage acceptable des valeurs est comprise entre 5 (5 secondes) et 86 400 (1 jour), inclus.
Les menus de l’application sont pris en charge lorsque
Prise en charge du profil AIR : cette fonctionnalité n’est pas prise en charge sur les périphériques mobiles ou les périphériques AIR pour TV. Voir
Remarque : sous Mac OS X, la propriété
Cette propriété n’est pas prise en charge sur les plates-formes qui ne prennent pas en charge la classe NativeWindow.
La valeur de cet ID est définie dans le fichier publisherid de l’application, généré au moment de l’installation à partir de la chaîne de certificat utilisée pour signer l’application.
Prise en charge du profil AIR : cette fonctionnalité est prise en charge sur tous les systèmes d’exploitation de bureau, mais ne l’est pas sur les périphériques mobiles ou les périphériques AIR pour TV. Vous pouvez tester la prise en charge lors de l’exécution à l’aide de la propriété
La propriété
Si elle est définie sur
Si elle est définie sur
L’interface utilisateur Mac OS X fournit un « Dock » d’applications contenant les icônes des applications en cours d’exécution ou fréquemment utilisées.
Utilisez la propriété
Lorsque sa valeur est
Utilisez la propriété
Si elle est définie sur
Si
L’interface utilisateur Windows fournit une « barre d’état système » dans la barre des tâches, officiellement appelée Zone de notification, dans laquelle il est possible d’afficher les icônes des applications. Aucune icône par défaut n’est affichée. Vous devez définir le tableau
Utilisez la propriété
Valeur de la classe SystemIdleMode ayant une incidence sur le comportement du mode Inactif du système hôte. Cette propriété prend effet uniquement dans l’application ayant le focus d’entrée et n’est accessible qu’à partir du contenu s’exécutant dans le sandbox de l’application.
Prise en charge du profil AIR : cette fonctionnalité est prise en charge sur les périphériques mobiles, mais ne l’est pas sur les systèmes d’exploitation de bureau ou sur les périphériques AIR pour TV. Voir
La classe Updater est prise en charge uniquement dans le profil de bureau. Elle n’est prise en charge ni pour les applications de bureau étendu (applications installées avec un programme d’installation natif) ni sur le profil mobile AIR ou les profils AIR pour TV. Vérifiez la propriété
Les applications de bureau étendu (applications installées avec un programme d’installation natif) peuvent télécharger une nouvelle version du programme d’installation natif et lancer ce dernier à l’aide de la méthode
Un appel à cette méthode entraîne la fermeture de l’application en cours (comme si la méthode
Le processus de mise à jour redémarre l’application, que la mise à jour ait réussi ou non. La mise à jour peut échouer pour diverses raisons, y compris pour des raisons que l’application ne peut pas contrôler (par exemple lorsque l’utilisateur ne dispose pas de privilèges suffisants pour installer l’application). Les applications doivent s’efforcer de détecter les défaillances et éviter de recommencer encore et encore la même mise à jour en échec. La boucle infinie qui en résulterait désactiverait radicalement l’application. Ecrire le numéro de version actuelle dans un fichier avant de commencer la mise à jour, puis comparer ce numéro au numéro de version lorsque l’application est redémarrée est un moyen de vérifier la réussite de la mise à jour.
Lorsqu’une application est testée à l’aide de l’application de débogage du lanceur AIR (ADL), un appel à la méthode
Pour installer la version mise à jour d’une application sous Mac OS, l’utilisateur doit disposer des privilèges système adéquats sur le répertoire de l’application. Sous Windows ou Linux, l’utilisateur doit disposer de privilèges administratifs.
Si la version mise à jour de l’application requiert une mise à jour du moteur d’exécution, la nouvelle version du moteur est installée. Pour mettre à jour le moteur d’exécution, l’utilisateur doit disposer de privilèges administratifs sur l’ordinateur.
Remarque : par mesure de sécurité, la définition du paramètre
Prise en charge du profil AIR : cette fonctionnalité est prise en charge sur les systèmes d’exploitation de bureau, mais ne l’est pas sur les périphériques mobiles ou sur les périphériques AIR pour TV. Voir
Tous les systèmes d’exploitation de bureau ne disposent pas d’icônes sur la barre d’état système. Pour savoir si les icônes de barre d’état système sont prises en charge par le système en cours, vérifiez
Il n’est pas possible de créer une occurrence de la classe SystemTrayIcon. Récupérez l’objet représentant l’icône de barre d’état système dans la propriété
Lorsque ces icônes sont prises en charge, l’icône est de type SystemTrayIcon. Autrement, le type de
Important : une tentative d’appel à une méthode de la classe SystemTrayIcon sur l’objet
Lorsqu’une icône est affichée dans le contexte d’un certain système d’exploitation, l’image bitmap du tableau se rapprochant le plus de la taille affichée est utilisée (et éventuellement mise à l’échelle). Les tailles courantes sont 16x16, 32x32, 48x48 et 128x128 (des icônes de 512x512 pixels peuvent être utilisées pour des système d’exploitation futurs).
Dans certains cas, le système d’exploitation peut utiliser une icône système par défaut lorsque rien n’a été affecté à la propriété
Pour définir ou modifier l’apparence de l’icône, affectez un tableau d’objets bitmapData à la propriété
La modification directe du tableau
Pour effacer l’image de l’icône, affectez un tableau vide à la propriété
Remarque : lors du chargement de fichiers image pour une icône, le format de fichier PNG fournit généralement la meilleure fusion alpha. Le format GIF ne prend en charge que l’activation ou la désactivation de la transparence (pas la fusion). Le format JPG ne prend pas en charge la transparence du tout.
Certains contextes d’icône prennent en charge les tailles dynamiques. La propriété
Certains contextes d’icône prennent en charge les tailles dynamiques. La propriété
Un objet Clipboard peut contenir les mêmes informations en plusieurs formats. Le fait de fournir les informations en plusieurs formats augmente les chances qu’une autre application puisse les exploiter. Ajoutez des données dans un objet Clipboard avec la méthode
Les formats standard sont :
Ces constantes des noms des formats standard sont définies dans la classe ClipboardFormats.
Lors d’un transfert vers ou depuis le système d’exploitation, les formats standard sont automatiquement convertis entre les types de données
Vous pouvez utiliser des formats définis par l’application pour ajouter des objets
Lorsque la conversion des informations à transférer en un format particulier réclame des calculs poussés, vous pouvez fournir le nom d’une fonction qui effectue la conversion. La fonction est appelée si, et seulement si, ce format est lu par le composant ou l’application de réception. Ajoutez une fonction de rendu différé à un objet Clipboard avec la méthode
Remarque réservée aux applications d’AIR : l’objet Clipboard référencé par les objets d’événement distribués pour les événements HTML de glisser-déposer et de copier-coller ne sont pas du même type que l’objet Clipboard d’AIR. L’objet Clipboard JavaScript est décrit dans le guide du développeur AIR.
Remarque réservée aux applications de Flash Player : dans Flash Player 10, une opération de collage à partir du Presse-papiers implique tout d’abord un événement utilisateur (par exemple, l’utilisation du raccourci clavier de la commande Coller ou un clic de souris sur la commande Coller d’un menu contextuel).
Sous Linux, les données du Presse-papiers ne persistent pas lorsqu’une application AIR se ferme.
Remarque : en raison des restrictions d’accès aux données du Presse-papiers, cet exemple ne fonctionne pas dans Flash Player. Dans Flash Player, vous ne pouvez appeler que la méthode
Créez des objets Clipboard permettant de contenir les données d’un mouvement de glisser-déposer natif dans Adobe AIR. Les objets Clipboard ne peuvent être utilisés que pour un seul mouvement de glisser-déposer. Il est impossible de les réutiliser.
Ne créez pas un objet Clipboard pour les opérations de copier-coller. Utilisez plutôt l’objet unique
Remarque : pour les opérations de copier-coller impliquant le presse-papiers du système d’exploitation, utilisez l’objet
Avec Flash Player, la méthode
Lors d’un accès à un format de données standard, les données sont renvoyées sous forme de nouvel objet de type correspondant.
Lors d’un accès à un format défini par l’application, la valeur du paramètre
Utilisez les constantes dans la classe ClipboardFormats pour référencer les noms de format standard.
Utilisez une fonction de gestionnaire pour différer la création ou le rendu des données jusqu’à ce l’utilisateur y accèdent réellement.
La fonction du gestionnaire doit renvoyer le type de données approprié pour le format spécifié :
La fonction de gestionnaire n’est appelée que lorsque les données au format spécifié sont lues, et seulement à ce moment-là. Notez que dans certains cas, le système d’exploitation appelle la fonction avant qu’un dépôt ne se produise. Par exemple, lorsque vous utilisez une fonction de gestionnaire pour fournir des données à un fichier déplacé depuis une application AIR vers le système de fichiers, le système d’exploitation appelle la fonction de gestionnaire des données dès que le mouvement de glissement quitte l’application AIR, ce qui résulte généralement en une pause indésirable lors du téléchargement ou de la création des données du fichier. Vous pouvez pour cela utiliser une classe URLFilePromise.
Notez que les données sous-jacentes peuvent changer entre le moment où le gestionnaire est ajouté et le moment où les données sont lues, sauf si votre application prend des mesures pour protéger les données. Le comportement qui se produit lorsque les données du presse-papier représentées par une fonction du gestionnaire sont lues plusieurs fois n’est pas garanti. Le Presse-papiers peut renvoyer les données produites par le premier appel de la fonction ou rappeler la fonction. Ne comptez pas sur ces comportements.
Dans le sandbox de l’application d’Adobe AIR,
Pour ajouter directement des données dans cet objet Clipboard, utilisez plutôt la méthode
Remarque : sous Mac OS, lorsque vous définissez le paramètre
Dans le sandbox de l’application d’Adobe AIR,
Différentes représentations des mêmes informations peuvent être ajoutées au Presse-papiers dans divers formats. Ceci augmente la capacité des autres composants ou applications à exploiter les données disponibles. Par exemple, une image peut être ajoutée sous forme de données bitmap pour une utilisation dans des applications de retouche d’images, sous forme d’URL, et sous forme de fichier PNG codé pour un transfert vers le système de fichiers natif.
Le paramètre data doit être du type de données approprié pour le format spécifié :
Les noms de format personnalisé ne doivent pas commencer par « air: » ou « flash: ». Pour éviter les conflits de noms lorsque vous utilisez des formats personnalisés, vous pouvez utiliser l’ID de votre application ou un nom de package comme préfixe, par exemple « com.nomApplication.exemple.dataPacket ».
Dans le cas d’un transfert au sein d’une application ou entre applications, le paramètre
Remarque : les formats standard étant toujours convertis en formats natifs lorsque les données sont collées ou déplacées hors d’une application prise en charge, la valeur du paramètre
Pour différer le rendu des données pour un format, utilisez plutôt la méthode
Remarque : sous Mac OS, lorsque vous définissez le paramètre
Les constantes de chaîne des noms des formats standard sont définies dans la classe ClipboardFormats. D’autres chaînes, définies par l’application, peuvent également être utilisées comme noms de format pour transférer les données sous forme d’objet.
Toutes les données collées dans le presse-papiers du système sont disponibles pour les autres applications. Cela peut comprendre le code distant non sécurisé s’exécutant dans un navigateur Web.
Remarque : dans les applications de Flash Player 10, une opération de collage à partir du presse-papiers implique tout d’abord un événement utilisateur (par exemple, utilisation du raccourci clavier de la commande Coller ou clic de souris sur la commande Coller d’un menu contextuel).
L’objet
Il est toujours préférable d’effacer le presse-papiers avant d’y écrire de nouvelles données afin de s’assurer que les anciennes données de tous les formats sont effacées.
Il est impossible de transmettre l’objet
Un fichier promis est un format de glisser-déposer du Presse-papiers qui permet à l’utilisateur de faire glisser un fichier qui n’existe pas encore hors d’une application AIR. AIR utilise les méthodes et propriétés définies par l’interface IFilePromise pour accéder aux données à écrire lors du dépôt du fichier promis.
Lorsqu’un fichier promis est déposé sur une cible appropriée, AIR appelle la méthode
Si l’accès aux données du fournisseur de données se fait en mode synchrone, notamment par le biais d’une classe ByteArray, AIR lit la quantité de données indiquée par la propriété
Si l’accès aux données du fournisseur de données se fait en mode asynchrone, notamment par le biais d’une classe Socket, AIR utilise les événements distribués par le fournisseur afin d’uniformiser la lecture des données et leur écriture dans le fichier. Les données sont lues à chaque événement progress jusqu’à ce qu’un événement complete ou close soit reçu. Le moteur d’exécution écoute les événements suivants (mais un fournisseur de données n’a pas besoin de distribuer chaque événement) :
Les classes du fournisseur de données personnalisées doivent distribuer un événement
Les méthodes définies par IFilePromise doivent être appelées par le moteur d’exécution d’AIR uniquement suite à une opération de glisser-déposer. En règle générale, les développeurs ne doivent pas appeler ces méthodes à partir de leur propre code.
Remarque : la classe URLFilePromise, disponible dans la bibliothèque air.desktop, implémente l’interface IFilePromise et utilise l’objet URLStream comme un fournisseur de données. La bibliothèque air.desktop est incluse en tant que fichiers SWF et SWC distincts dans le kit de développement d’AIR.
Aucune méthode n’est appelée sur la référence de l’objet renvoyé par
L’objet fournisseur de données doit implémenter l’interface IDataInput, qui définit des méthodes pour la lecture des données. Si la propriété
Vous pouvez également fournir l’objet d’une classe personnalisée qui implémente les interfaces requises (ou étend une autre classe qui les implémente).
Si elle est définie sur
Si
Cette propriété doit fournir un chemin valide ou une erreur d’argument est renvoyée lorsque le fichier promis est déposé.
Le chemin peut inclure des sous-répertoires, qui sont résolus en fonction de l’emplacement du dépôt. Des sous-répertoires sont créés, le cas échéant. Lorsque vous incluez des sous-répertoires, utilisez la constante
Remarque : pour permettre au code client de définir le chemin, vous pouvez implémenter une fonction setter avec la signature :
Seules les applications AIR installées à l’aide de programmes d’installation natifs (applications dotées d’un profil étendu de bureau) peuvent accéder au processus natif.
Chaque chaîne dans le vecteur
Remarque : sous Mac OS, pour lancer un fichier exécutable au sein d’un lot d’applications, assurez-vous que le chemin de l’objet File inclue le chemin complet au fichier exécutable (dans le lot), et pas seulement le chemin au fichier app.
Sur Android, l’application doit spécifier les autorisations Android pour DISABLE_KEYGUARD et WAKE_LOCK dans le descripteur d’application , dans le cas contraire, le système d’exploitation ne respectera pas ce paramètre.
Le mode de transfert fournit un repère pour savoir si une référence ou une copie doit être renvoyée lors de l’accès à un objet du presse-papiers.
Les types de données suivants peuvent être transférés :
Remarque : tous les membres NativeDragManager sont statiques. Il n’est pas nécessaire de créer une occurrence de cette classe.
Une opération de glisser-déposer est un geste de l’interface utilisateur qui commence lorsque l’utilisateur clique sur un élément visible et le fait glisser vers un autre emplacement. Pendant l’action de déplacement, les objets interactifs de la liste d’affichage distribuent des événements de déplacement natifs tout au long du déplacement à travers la fenêtre de l’application AIR. Des gestionnaires de ces événements peuvent appeler les méthodes de la classe NativeDragManager pour indiquer si l’élément déplacé peut être déposé sur un objet. En réponse, la classe NativeDragManager change le pointeur de la souris pour prévenir l’utilisateur.
Prise en charge du profil AIR : cette fonctionnalité n’est pas prise en charge sur les périphériques AIR pour TV. En outre, elle n’est pas prise en charge sur tous les périphériques mobiles. Vous pouvez tester la prise en charge lors de l’exécution à l’aide de la propriété
Actions de déplacement
Les gestes de glisser-déposer sont généralement utilisés pour trois types d’opérations appelées actions. Comme la signification de ces actions dépend du contexte de l’application, le moteur d’exécution n’impose pas un comportement particulier par rapport à ces actions. Toutefois, une implémentation appropriée des actions améliore la convivialité de votre application pour l’utilisateur.
Les actions possibles sont :
Les actions autorisées pour un geste de déplacement peuvent être définies en fournissant un paramètre
Si la cible de dépôt n’implémente qu’une seule action, l’objet peut définir la propriété
Lorsqu’un dépôt est accepté, une cible de dépôt potentielle doit spécifier l’action choisie en définissant la propriété
Les constantes de chaîne des noms d’action sont définies dans la classe NativeDragActions.
Séquence des événements
Le geste de déplacement commence par un appel à la méthode
Gestes entre applications
Lorsqu’un geste de déplacement entre dans une fenêtre d’application AIR à partir d’une application non AIR, aucun objet initiateur ne déclenche l’événement
Lorsqu’un geste de déplacement quitte la fenêtre d’une application AIR, aucun objet cible ne déclenche les événements
Lorsqu’un geste de déplacement passe d’une application AIR à une autre, les objets d’affichage initiateur et cible déclenchent des événements dans leurs applications respectives, comme d’habitude.
Transfert des informations
Les données transférées au cours d’un geste de glisser-déposer sont renfermées dans un objet Clipboard. Cet objet de données est ajouté à l’opération de déplacement avec la méthode
Considérations de sécurité
Les sandbox de sécurité des objets initiateur et cible potentielle déterminent comment accéder aux données déplacées. Si les deux objets se trouvent dans le même sandbox, tout objet NativeDragEvent peut alors accéder aux données. Toutefois, si les objets initiateur et cible potentielle sont dans des sandbox différents, les données ne sont accessibles que dans le sandbox cible à l’intérieur du gestionnaire de l’événement
Cette méthode ne peut être appelée que lorsque l’objet cible spécifié contient un gestionnaire
Cette fonction ne peut être appelée qu’à l’intérieur d’un gestionnaire d’événement
Pour commencer une opération de déplacement :
L’objet initiateur déclenche un événement
Cette méthode ne peut être appelée qu’à l’intérieur d’un gestionnaire d’événement
La propriété
Les actions de déplacement font partie d’un mécanisme de compte rendu pour que les objets source et cible puissent coopérer lors de l’échange glisser-déposer. Les actions sont seulement un repère pour le système d’exploitation. Il revient à l’instigateur du déplacement et aux objets cible concernés par la transaction d’implémenter le comportement approprié.
Un objet d’origine doit autoriser uniquement les actions qu’il prend en charge. Par exemple, un objet d’origine ne doit autoriser que l’action move si la logique interne de cet objet supprime les données source lorsqu’une cible accepte le dépôt avec une action de déplacement.
Toutes les propriétés d’un nouvel objet NativeDragOptions sont initialisées sur
Prise en charge du profil AIR : cette fonctionnalité est prise en charge sur tous les systèmes d’exploitation de bureau, mais ne l’est pas sur les périphériques mobiles ou sur les périphériques AIR pour TV. Vous pouvez tester la prise en charge lors de l’exécution à l’aide de la propriété
Vous pouvez utiliser la classe DockIcon pour modifier l’apparence de l’icône standard, par exemple pour l’animer ou lui ajouter des graphiques d’informations. Vous pouvez également ajouter des éléments au menu de l’icône du Dock. Ces éléments s’afficheront au-dessus de ceux du menu standard.
Il n’est pas possible de créer une occurrence de la classe DockIcon. Récupérez l’objet représentant l’icône du dock du système d’exploitation dans
Tous les systèmes d’exploitation n’ont pas d’icônes de Dock. Pour savoir si les icônes de Dock sont prises en charge par ce système, vérifiez
Important : une tentative d’appel à une méthode de la classe DockIcon sur l’objet
Un appel à cette méthode fait rebondir l’icône du Dock si, et seulement si, l’application est en arrière-plan. Lorsque
Lorsqu’une icône est affichée dans le contexte d’un certain système d’exploitation, l’image bitmap du tableau se rapprochant le plus de la taille affichée est utilisée (et éventuellement mise à l’échelle). Les tailles courantes sont 16x16, 32x32, 48x48 et 128x128 (des icônes de 512x512 pixels peuvent être utilisées pour des système d’exploitation futurs).
Dans certains cas, le système d’exploitation peut utiliser une icône système par défaut lorsque rien n’a été affecté à la propriété
Pour définir ou modifier l’apparence de l’icône, affectez un tableau d’objets bitmapData à la propriété
La modification directe du tableau
Pour effacer l’image de l’icône, affectez un tableau vide à la propriété
Remarque : lors du chargement de fichiers image pour une icône, le format de fichier PNG fournit généralement la meilleure fusion alpha. Le format GIF ne prend en charge que l’activation ou la désactivation de la transparence (pas la fusion). Le format JPG ne prend pas en charge la transparence du tout.
Certains contextes d’icône prennent en charge les tailles dynamiques. La propriété
Les éléments du menu s’affichent au-dessus des éléments habituels. Les éléments habituels ne peuvent être ni modifiés ni supprimés.
Certains contextes d’icône prennent en charge les tailles dynamiques. La propriété
Un objet Icon a une propriété,
Lorsqu’une icône est affichée dans le contexte d’un certain système d’exploitation, l’image bitmap du tableau se rapprochant le plus de la taille affichée est utilisée (et éventuellement mise à l’échelle). Les tailles courantes sont 16x16, 32x32, 48x48 et 128x128 (des icônes de 512x512 pixels peuvent être utilisées pour des système d’exploitation futurs).
Dans certains cas, le système d’exploitation peut utiliser une icône système par défaut lorsque rien n’a été affecté à la propriété
Pour définir ou modifier l’apparence de l’icône, affectez un tableau d’objets bitmapData à la propriété
La modification directe du tableau
Pour effacer l’image de l’icône, affectez un tableau vide à la propriété
Remarque : lors du chargement de fichiers image pour une icône, le format de fichier PNG fournit généralement la meilleure fusion alpha. Le format GIF ne prend en charge que l’activation ou la désactivation de la transparence (pas la fusion). Le format JPG ne prend pas en charge la transparence du tout.