Paquete | flash.external |
Clase | public final class ExtensionContext |
Herencia | ExtensionContext EventDispatcher Object |
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 2.5 |
La clase ExtensionContext también proporciona un método estático getExtensionDirectory()
para acceder a directorio en el que la extensión se instalado en el dispositivo. También proporciona una propiedad, actionScriptData
, para compartir datos con la implementación nativa de la extensión.
Nota: las aplicaciones de AIR con el perfil extendedDesktop
pueden utilizar la clase NativeProcess para ejecutar procesos nativos.
Más ejemplos
Elementos de API relacionados
Propiedad | Definido por | ||
---|---|---|---|
actionScriptData : Object
El objeto ActionScript, si existe, asociado a este contexto. | ExtensionContext | ||
constructor : Object
Una referencia a la clase de objeto o función constructora para una instancia de objeto determinada. | Object |
Método | Definido por | ||
---|---|---|---|
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Registra un objeto de detector de eventos con un objeto EventDispatcher, de modo que el detector reciba la notificación de un evento. | EventDispatcher | ||
Llama a la función nativa especificada por functionName. | ExtensionContext | ||
[estática]
Crea una instancia de ExtensionContext para el identificador de extensión y tipo de contexto dados. | ExtensionContext | ||
Distribuye un evento en el flujo del evento. | EventDispatcher | ||
Se deshace de esta instancia de ExtensionContext. | ExtensionContext | ||
[estática]
Devuelve el directorio en el que la extensión está instalada en el dispositivo. | ExtensionContext | ||
Comprueba si el objeto EventDispatcher tiene detectores registrados para un tipo concreto de evento. | EventDispatcher | ||
Indica si un objeto tiene definida una propiedad especificada. | Object | ||
Indica si hay una instancia de la clase Object en la cadena de prototipo del objeto especificado como parámetro. | Object | ||
Indica si existe la propiedad especificada y si es enumerable. | Object | ||
Elimina un detector del objeto EventDispatcher. | EventDispatcher | ||
Establece la disponibilidad de una propiedad dinámica para operaciones de bucle. | Object | ||
Devuelve la representación de cadena de este objeto, con formato según las convenciones específicas de configuración regional. | Object | ||
Devuelve la representación de cadena del objeto especificado. | Object | ||
Devuelve el valor simple del objeto especificado. | Object | ||
Comprueba si hay registrado un detector de eventos con este objeto EventDispatcher o con cualquiera de sus ascendientes para el tipo de evento concreto. | EventDispatcher |
Evento | Resumen | Definido por | ||
---|---|---|---|---|
[evento broadcast] Se distribuye cuando Flash Player o AIR pasan a estar activos. | EventDispatcher | |||
[evento broadcast] Se distribuye cuando Flash Player o de AIR pasan a estar inactivos. | EventDispatcher | |||
La clase ExtensionContext proporciona una interfaz para llamar a las funciones en la implementación nativa de una extensión nativa de Adobe AIR. | ExtensionContext |
actionScriptData | propiedad |
actionScriptData:Object
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 2.5 |
El objeto ActionScript, si existe, asociado a este contexto.
Se puede asociar cualquier objeto ActionScript con una instancia de ExtensionContext. La implementación nativa también podrá obtener y establecer este objeto ActionScript. Por consiguiente, puede utilizar actionScriptData
para compartir datos entre el lado ActionScript y el lado nativo de una extensión.
También puede establecer el valor de actionScriptData
como null
.
Implementación
public function get actionScriptData():Object
public function set actionScriptData(value:Object):void
Emite
IllegalOperationError — Ya se ha llamado al método dispose() en esta instancia de ExtensionContext.
|
call | () | método |
public function call(functionName:String, ... args):Object
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 2.5 |
Llama a la función nativa especificada por functionName
. Cualquier argumento adicional se pasa a la función nativa.
Parámetros
functionName:String — Un nombre que representa una función en la implementación nativa. Este nombre no es necesariamente el nombre real de la función nativa, sino cualquier nombre convenido entre el lado ActionScript y el lado nativo de la extensión.
| |
... args — Una lista de argumentos de la función nativa. Estos argumentos pueden ser cualquier objeto ActionScript: tipos simples u objetos de clases de ActionScript. Los tipos y el orden de los argumentos se acuerdan entre el lado ActionScript y el lado nativo de la extensión.
|
Object — El valor devuelto por la función nativa. El valor devuelto es null si la función nativa no tiene ningún valor devuelto o devuelve una referencia a un objeto no válido.
|
Emite
ArgumentError — No hay ninguna función correspondiente al nombre dado por functionName .
| |
IllegalOperationError — Ya se ha llamado al método dispose() en esta instancia de ExtensionContext. Este error también se emite si la función nativa devuelve una referencia a un objeto no válido.
|
createExtensionContext | () | método |
public static function createExtensionContext(extensionID:String, contextType:String):ExtensionContext
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 2.5 |
Crea una instancia de ExtensionContext para el identificador de extensión y tipo de contexto dados.
Parámetros
extensionID:String — El identificador de extensión de la extensión. Este identificador tiene el mismo valor que el elemento id del archivo descriptor de la extensión. Los desarrolladores de aplicaciones también utilizan este valor en el elemento extensionID del archivo descriptor de la aplicación. Todas las extensiones comparten un único espacio de nombres global. Por ello, para evitar conflictos, utilice notación DNS inversa para el identificador de la extensión.
| |
contextType:String — El tipo de contexto de la extensión. En función del tipo de contexto, la implementación nativa puede realizar diferentes inicializaciones. Estas diferencias pueden incluir la implementación nativa especificando otro conjunto de funciones nativas disponibles que se pueden llamar en el lado ActionScript. El valor del tipo de contexto es cualquier cadena acordada entre el lado ActionScript y el lado nativo de la extensión. Las extensiones simples a menudo no tienen ningún uso en diferentes tipos de contextos. En estos casos, pase una cadena vacía "" o null para el valor de contextType .
|
ExtensionContext — La nueva instancia de ExtensionContext. Devuelve null si no hay extensión disponible con el valor determinado de extensionID o si la función de inicializador de contexto especificada en el documento extensión.xml para el determinado extensionID no se puede encontrar o ejecutar.
|
Emite
ArgumentError — El parámetro extensionID es null o no es un ID de extensión válido.
|
dispose | () | método |
public function dispose():void
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 2.5 |
Se deshace de esta instancia de ExtensionContext.
El motor de ejecución notifica a la implementación nativa, que puede liberar cualquier recurso nativo asociado. Después de llamar dispose()
, el código no puede llamar al método call()
y no puede obtener o establecer la propiedad actionScriptData
.
getExtensionDirectory | () | método |
public static function getExtensionDirectory(extensionID:String):File
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 2.5 |
Devuelve el directorio en el que la extensión está instalada en el dispositivo.
A veces, una extensión incluye recursos como imágenes a las que desee acceder desde el código ActionScript de la extensión. A veces, el código requiere asimismo la información que está disponible en el archivo descriptor de la extensión, como el número de versión de la extensión. Puede utilizar este método para acceder al directorio base de la extensión.
Independientemente de donde se encuentre la extensión en el dispositivo, los archivos de extensión se encuentran siempre en la misma ubicación en relación a este directorio base de la extensión. Con la instancia de File que este método devuelve, puede desplazarse y manipular archivos específicos incluidos con la extensión.
El directorio de la extensión tiene la siguiente estructura:
extension base directory/ platform independent files META-INF/ ANE/ extension.xml platform name/ platform-dependent files and directories
La ubicación del directorio de la extensión depende de si la extensión está disponible en la aplicación o en el dispositivo tal como se explica a continuación:
- En la aplicación, el directorio de la extensión se encuentra dentro del directorio de la aplicación.
- En el dispositivo, la ubicación del directorio de la extensión depende del dispositivo.
Existe una excepción del uso de getExtensionDirectory()
para extensiones nativas para dispositivos iOS. Los recursos para estas extensiones no se encuentran en directorio de la extensión. Se encuentran en el directorio de la aplicación del nivel superior.
Parámetros
extensionID:String — El identificador de extensión de la extensión. Este identificador tiene el mismo valor que el parámetro extensionID en createExtensionContext() .
|
File — Una instancia de File para el directorio en el que se instaló la extensión.
|
Emite
TypeError — El parámetro extensionID no debe ser null.
| |
ArgumentError — El valor especificado para el argumento extensionID no es válido. El directorio no existe.
|
status | Evento |
flash.events.StatusEvent
propiedad StatusEvent.type =
flash.events.StatusEvent.STATUS
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 2.5 |
La clase ExtensionContext proporciona una interfaz para llamar a las funciones en la implementación nativa de una extensión nativa de Adobe AIR. Esta clase se puede utilizar sólo en las clases de ActionScript que forman parte de la extensión.
Compatibilidad con perfil de AIR: esta característica se admite en dispositivos móviles compatibles partir de AIR 3. También se admite a partir de AIR 3 en dispositivos de escritorio en las aplicaciones que utilicen el perfil de dispositivo extendedDesktop
. Se admite en dispositivos AIR para TV a partir de AIR 2.5 en aplicaciones que utilicen el perfil de dispositivo extendedTV
.
Una extensión nativa es una combinación de:
- Clases de ActionScript.
- Código nativo. Código nativo es código que se ejecuta en un dispositivo fuera el motor de ejecución. Por ejemplo, el código que se escribe en C es código nativo.
Puede crear una extensión nativa para:
- Dar a una aplicación de AIR acceso a funciones específicas del dispositivo.
- Reutilizar el código nativo existente.
- Proporcionar un procesamiento más eficaz con código nativo del que se puede lograr con código ActionScript.
Utilice la clase ExtensionContext en el lado de una extensión de ActionScript para acceder al lado nativo de la extensión. Primero, cree una instancia de la clase ExtensionContext. Para hacerlo, llame al método estático ExtensionContext.createExtensionContext()
.
Después de crear la instancia de ExtensionContext, utilice el método call()
de la instancia para llamar a una función nativa.
Cuando haya terminado con una instancia de ExtensionContext, llame a dispose()
para liberar todos los recursos nativos asociados. Sin una llamada explícita a dispose()
, el recolector de datos innecesarios del motor de ejecución llama a dispose()
cuando se deshace de la instancia. Una llamada explícita al método dispose()
suele producirse mucho antes de esperar el recolector de datos innecesarios.
Una instancia de ExtensionContext puede detectar eventos StatusEvent que el código nativo distribuye cuando se produce algún evento asíncrono en la implementación nativa de la extensión. Dado que la clase ExtensionContext se deriva de EventDispatcher, puede a su vez distribuir eventos.
Define el valor de la propiedadtype
de un objeto de evento status
.
Este evento tiene las propiedades siguientes:
Propiedad | Valor |
---|---|
bubbles | false |
cancelable | false ; no hay ningún comportamiento predeterminado que cancelar. |
code | Descripción del estado del objeto. |
currentTarget | Objeto que procesa de forma activa el objeto de evento con un detector de eventos. |
level | La categoría del mensaje, por ejemplo, "status" , "warning" o "error" . |
target | El objeto que informa sobre su estado. |
Tue Jun 12 2018, 02:12 PM Z