Pacchetto | flash.external |
Classe | public final class ExtensionContext |
Ereditarietà | ExtensionContext EventDispatcher Object |
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 2.5 |
La classe ExtensionContext fornisce anche un metodo statico, getExtensionDirectory()
, per accedere alla directory del dispositivo nella quale è installata l'estensione. Ha anche una proprietà, actionScriptData
, per la condivisione dei dati con l'implementazione nativa dell'estensione.
Nota: le applicazioni AIR che utilizzano il profilo extendedDesktop
possono utilizzare la classe NativeProcess per eseguire processi nativi.
Altri esempi
Elementi API correlati
Proprietà | Definito da | ||
---|---|---|---|
actionScriptData : Object
L'eventuale oggetto ActionScript associato a questo contesto. | ExtensionContext | ||
constructor : Object
Un riferimento all'oggetto classe o alla funzione di costruzione per una determinata istanza di oggetto. | Object |
Metodo | Definito da | ||
---|---|---|---|
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Registra un oggetto listener di eventi con un oggetto EventDispatcher, in modo che il listener riceva la notifica di un evento. | EventDispatcher | ||
Chiama la funzione nativa specificata da functionName. | ExtensionContext | ||
[statico]
Crea un'istanza ExtensionContext per l'identificatore di estensione e il tipo di contesto specificati. | ExtensionContext | ||
Invia un evento nel flusso di eventi. | EventDispatcher | ||
Elimina questa istanza ExtensionContext. | ExtensionContext | ||
[statico]
Restituisce la directory del dispositivo in cui è installata l'estensione. | ExtensionContext | ||
Verifica se per l'oggetto EventDispatcher sono presenti listener registrati per un tipo specifico di evento. | EventDispatcher | ||
Indica se per un oggetto è definita una proprietà specifica. | Object | ||
Indica se un'istanza della classe Object si trova nella catena di prototipi dell'oggetto specificato come parametro. | Object | ||
Indica se la proprietà specificata esiste ed è enumerabile. | Object | ||
Rimuove un listener dall'oggetto EventDispatcher. | EventDispatcher | ||
Imposta la disponibilità di una proprietà dinamica per le operazioni cicliche. | Object | ||
Restituisce la rappresentazione in formato stringa di questo oggetto, formattato in base alle convenzioni specifiche per le versioni localizzate. | Object | ||
Restituisce la rappresentazione in formato stringa dell'oggetto specificato. | Object | ||
Restituisce il valore di base dell'oggetto specificato. | Object | ||
Verifica se un listener di eventi è registrato con questo oggetto EventDispatcher o qualsiasi suo antenato per il tipo di evento specificato. | EventDispatcher |
Evento | Riepilogo | Definito da | ||
---|---|---|---|---|
[evento di trasmissione] Inviato quando Flash Player o l'applicazione AIR ottiene lo stato di attivazione del sistema operativo ed entra nello stato attivo. | EventDispatcher | |||
[evento di trasmissione] Inviato quando Flash Player o l'applicazione AIR perde l'attivazione del sistema operativo e sta entrando nello stato inattivo. | EventDispatcher | |||
La classe ExtensionContext fornisce un'interfaccia per chiamare funzioni nell'implementazione nativa di un'estensione nativa di Adobe AIR. | ExtensionContext |
actionScriptData | proprietà |
actionScriptData:Object
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 2.5 |
L'eventuale oggetto ActionScript associato a questo contesto.
Potete associare qualsiasi oggetto ActionScript a un'istanza ExtensionContext. L'implementazione nativa può anche ottenere e impostare questo oggetto ActionScript. Pertanto, potete usare actionScriptData
per condividere dati tra il lato ActionScript e il lato nativo di un'estensione.
Potete anche impostare il valore di actionScriptData
su null
.
Implementazione
public function get actionScriptData():Object
public function set actionScriptData(value:Object):void
Genera
IllegalOperationError — Il metodo dispose() è già stato chiamato su questa istanza ExtensionContext.
|
call | () | metodo |
public function call(functionName:String, ... args):Object
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 2.5 |
Chiama la funzione nativa specificata da functionName
. Eventuali argomenti aggiuntivi vengono passati alla funzione nativa.
Parametri
functionName:String — Un nome che rappresenta una funzione nell'implementazione nativa. Questo nome non è necessariamente il nome effettivo della funzione nativa, bensì può essere qualunque nome concordato tra il lato ActionScript e il lato nativo dell'estensione.
| |
... args — Un elenco di argomenti per la funzione nativa. Questi argomenti possono essere oggetti ActionScript: tipi primitivi oppure oggetti di classe ActionScript. I tipi e l'ordine degli argomenti vengono concordati tra il lato ActionScript e il lato nativo dell'estensione.
|
Object — Il valore restituito dalla funzione nativa. Il valore restituito è null se la funzione nativa non restituisce un valore oppure restituisce un riferimento a un oggetto non valido.
|
Genera
ArgumentError — Nessuna funzione corrisponde al nome specificato da functionName .
| |
IllegalOperationError — Il metodo dispose() è già stato chiamato su questa istanza ExtensionContext. Questo errore viene generato anche se la funzione nativa restituisce un riferimento a un oggetto non valido.
|
createExtensionContext | () | metodo |
public static function createExtensionContext(extensionID:String, contextType:String):ExtensionContext
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 2.5 |
Crea un'istanza ExtensionContext per l'identificatore di estensione e il tipo di contesto specificati.
Parametri
extensionID:String — L'identificatore di estensione dell'estensione. Questo identificatore ha lo stesso valore dell'elemento id nel file descrittore dell'estensione. Gli sviluppatori di applicazioni usano questo valore anche nell'elemento extensionID del file descrittore dell'applicazione. Tutte le estensioni condividono un unico spazio dei nomi globale. Di conseguenza, per evitare conflitti tra nomi, utilizzate la notazione DNS inversa per l'identificatore dell'estensione.
| |
contextType:String — Il tipo di contesto dell'estensione. A seconda del tipo di contesto, l'implementazione nativa può eseguire diverse inizializzazioni. Queste differenze possono includere l'implementazione nativa che specifica un set diverso di funzioni native disponibili che possono essere chiamate dal lato ActionScript. Il valore del tipo di contesto è una stringa concordata tra il lato ActionScript e il lato nativo dell'estensione. Le estensioni semplici spesso non sono in grado di utilizzare tipi di contesto differenti. In tali casi, passate una stringa vuota "" oppure null per il valore contextType .
|
ExtensionContext — La nuova istanza di ExtensionContext. Restituisce null se non è disponibile alcuna estensione con il valore extensionID fornito oppure se non è possibile trovare o eseguire la funzione di inizializzazione del contesto specificata nel documento extension.xml per il valore extensionID specificato.
|
Genera
ArgumentError — Il parametro extensionID è null o non è un ID di estensione valido.
|
dispose | () | metodo |
public function dispose():void
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 2.5 |
Elimina questa istanza ExtensionContext.
Il runtime notifica l'implementazione nativa, che può rilasciare le risorse native associate. Dopo una chiamata dispose()
, il codice non può chiamare il metodo call()
e non può ottenere o impostare la proprietà actionScriptData
.
getExtensionDirectory | () | metodo |
public static function getExtensionDirectory(extensionID:String):File
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 2.5 |
Restituisce la directory del dispositivo in cui è installata l'estensione.
A volte un'estensione include risorse quali immagini alle quali si desidera accedere dal codice ActionScript dell'estensione. Inoltre, in alcuni casi il codice richiede informazioni che sono disponibili nel file descrittore dell'estensione, ad esempio il numero di versione dell'estensione. Questo metodo permette di accedere alla directory base dell'estensione.
Indipendentemente dalla posizione dell'estensione nel dispositivo, i file dell'estensione sono sempre nella stessa posizione in relazione a questa directory base dell'estensione. Utilizzando l'istanza File restituita da questo metodo, potete accedere a file specifici inclusi nell'estensione e manipolarli.
Di seguito è riportata la struttura della directory dell'estensione:
extension base directory/ platform independent files META-INF/ ANE/ extension.xml platform name/ platform-dependent files and directories
La posizione della directory dell'estensione dipende dalla disponibilità dell'estensione tramite il pacchetto dell'applicazione o del dispositivo, come segue:
- Nel caso del pacchetto dell'applicazione, la directory dell'estensione si trova all'interno della directory dell'applicazione.
- Nel caso del pacchetto del dispositivo, la posizione della directory dell'estensione dipende dal dispositivo.
Esiste un'eccezione all'utilizzo di getExtensionDirectory()
per le estensioni native per i dispositivi iOS. Le risorse per queste estensioni non si trovano nella directory dell'estensione, ma nella directory di primo livello dell'applicazione.
Parametri
extensionID:String — L'identificatore di estensione dell'estensione. Questo identificatore ha lo stesso valore del parametro extensionID di createExtensionContext() .
|
File — Un'istanza File per la directory del dispositivo in cui è installata l'estensione.
|
Genera
TypeError — Il parametro extensionID non deve essere null.
| |
ArgumentError — Il valore specificato per l'argomento extensionID non è valido. La directory non esiste.
|
status | Evento |
flash.events.StatusEvent
proprietà StatusEvent.type =
flash.events.StatusEvent.STATUS
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 2.5 |
La classe ExtensionContext fornisce un'interfaccia per chiamare funzioni nell'implementazione nativa di un'estensione nativa di Adobe AIR. Potete usare questa classe solo nelle classi ActionScript che fanno parte dell'estensione.
Supporto profilo AIR: questa funzionalità è supportata dai dispositivi mobili che eseguono AIR 3 o versioni successive. È inoltre supportata a partire da AIR 3 su dispositivi desktop, in applicazioni che usano il profilo dispositivo extendedDesktop
. È supportata a partire da AIR 2.5 su dispositivi AIR for TV, in applicazioni che usano il profilo dispositivo extendedTV
.
Un'estensione nativa è una combinazione di:
- Classi ActionScript.
- Codice nativo. Il codice nativo è un codice che viene eseguito su un dispositivo esternamente al runtime. Ad esempio, il codice scritto in C è codice nativo.
Potete creare un'estensione nativa per:
- Concedere a un'applicazione AIR l'accesso a funzioni specifiche del dispositivo.
- Riutilizzare codice nativo esistente.
- Fornire una maggiore efficienza di elaborazione utilizzando codice nativo ottenibile con codice ActionScript.
Utilizzate la classe ExtensionContext sul lato di un'estensione ActionScript per accedere al lato nativo dell'estensione. Innanzi tutto, create un'istanza della classe ExtensionContext. A questo scopo, chiamate il metodo statico ExtensionContext.createExtensionContext()
.
Dopo aver creato l'istanza ExtensionContext, utilizzate il metodo call()
dell'istanza per chiamare una funzione nativa.
Quando avete finito di utilizzare un'istanza ExtensionContext, chiamate dispose()
per rilasciare le risorse native associate. Senza una chiamata esplicita di dispose()
, il garbage collector del runtime chiama dispose()
quando elimina l'istanza. Una chiamata esplicita di dispose()
avviene solitamente molto prima dell'intervento del garbage collector.
Un'istanza ExtensionContext può intercettare gli eventi StatusEvent inviati dal codice nativo quando si verifica un evento asincrono nell'implementazione nativa dell'estensione. Poiché la classe ExtensionContext deriva da EventDispatcher, può a sua volta inviare eventi.
Definisce il valore della proprietàtype
di un oggetto evento status
.
Questo evento ha le seguenti proprietà:
Proprietà | Valore |
---|---|
bubbles | false |
cancelable | false ; non è presente alcun comportamento predefinito da annullare. |
code | Una descrizione dello stato dell'oggetto. |
currentTarget | L'oggetto che elabora attivamente l'oggetto Event con un listener di eventi. |
level | La categoria del messaggio, ad esempio "status" , "warning" o "error" . |
target | L'oggetto che riporta il proprio stato. |
Tue Jun 12 2018, 02:44 PM Z