Pacote | flash.external |
Classe | public final class ExtensionContext |
Herança | ExtensionContext EventDispatcher Object |
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 2.5 |
A classe ExtensionContext também fornece um método estático getExtensionDirectory()
para acessar o diretório no qual a extensão está instalada no dispositivo. Também fornece uma propriedade, actionScriptData
, para compartilhar dados com a implementação nativa da extensão.
Nota: aplicativos AIR que usam o perfil extendedDesktop
podem usar a classe NativeProcess para executar processos nativos.
Mais exemplos
Elementos da API relacionados
Propriedade | Definido por | ||
---|---|---|---|
actionScriptData : Object
O objeto ActionScript associado a este contexto, se houver. | ExtensionContext | ||
constructor : Object
Uma referência ao objeto de classe ou à função de construtor de uma determinada ocorrência de objeto. | Object |
Método | Definido por | ||
---|---|---|---|
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Registra um objeto de ouvinte de evento em um objeto EventDispatcher, de forma que o ouvinte receba a notificação de um evento. | EventDispatcher | ||
Chama a função nativa especificada por functionName. | ExtensionContext | ||
[estático]
Cria uma instância de ExtensionContext para o identificador de extensão e o tipo de contexto específicos. | ExtensionContext | ||
Envia um evento para o fluxo de eventos. | EventDispatcher | ||
Descarta essa instância de ExtensionContext. | ExtensionContext | ||
[estático]
Retorna o diretório no qual a extensão está instalada no dispositivo. | ExtensionContext | ||
Verifica se o objeto EventDispatcher tem ouvintes registrados para um tipo específico de evento. | EventDispatcher | ||
Indica se um objeto tem uma propriedade especificada definida. | Object | ||
Indica se uma ocorrência da classe Object está na cadeia de protótipos do objeto especificado como o parâmetro. | Object | ||
Indica se a propriedade especificada existe e é enumerável. | Object | ||
Remove um ouvinte do objeto EventDispatcher. | EventDispatcher | ||
Define a disponibilidade de uma propriedade dinâmica para operações de repetição. | Object | ||
Retorna a representação da string deste objeto, formatado segundo as convenções específicas para a localidade. | Object | ||
Retorna a representação de string do objeto especificado. | Object | ||
Retorna o valor primitivo do objeto especificado. | Object | ||
Verifica se um ouvinte de evento está registrado nesse objeto EventDispatcher ou em qualquer um de seus ancestrais para o tipo de evento especificado. | EventDispatcher |
Evento | Resumo | Definido por | ||
---|---|---|---|---|
[transmissão de evento] Despachado quando o Flash Player ou o aplicativo do AIR ganha o foco do sistema operacional e está se tornando inativo. | EventDispatcher | |||
[transmissão de evento] Despachado quando o Flash Player ou o aplicativo do AIR perde o foco do sistema operacional e está se tornando inativo. | EventDispatcher | |||
A classe ExtensionContext fornece uma interface de funções de chamada na implementação nativa de uma extensão nativa do Adobe AIR. | ExtensionContext |
actionScriptData | propriedade |
actionScriptData:Object
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 2.5 |
O objeto ActionScript associado a este contexto, se houver.
Você pode associar qualquer objeto ActionScript a uma instância de ExtensionContext. A implementação nativa também pode obter e definir este objeto ActionScript. Por isso, você pode usar actionScriptData
para compartilhar dados entre o lado do ActionScript e o lado nativo de uma extensão.
Também pode definir o valor de actionScriptData
como null
.
Implementação
public function get actionScriptData():Object
public function set actionScriptData(value:Object):void
Lança
IllegalOperationError — O método dispose() já foi chamado nesta instância de ExtensionContext.
|
call | () | método |
public function call(functionName:String, ... args):Object
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 2.5 |
Chama a função nativa especificada por functionName
. Quaisquer argumentos adicionais são passados para a função nativa.
Parâmetros
functionName:String — Um nome que representa uma função na implementação nativa. Este nome é não necessariamente o nome real da função nativa, mas qualquer nome combinado entre o lado do ActionScript e o lado nativo da extensão.
| |
... args — Uma lista de argumentos para a função nativa. Esses argumentos podem ser qualquer objeto ActionScript: tipos primitivos ou objetos da classe ActionScript. Os tipos e a ordem dos argumentos são combinados entre o lado do ActionScript e o lado nativo da extensão.
|
Object — O valor retornado pela função nativa. O valor de retorno é null se a função nativa não tem nenhum valor de retorno ou retorna uma referência de objeto inválida.
|
Lança
ArgumentError — Nenhuma função corresponde ao nome fornecido por functionName .
| |
IllegalOperationError — O método dispose() já foi chamado nesta instância de ExtensionContext. Este erro também é lançado se a função nativa retornar uma referência a objeto inválida.
|
createExtensionContext | () | método |
public static function createExtensionContext(extensionID:String, contextType:String):ExtensionContext
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 2.5 |
Cria uma instância de ExtensionContext para o identificador de extensão e o tipo de contexto específicos.
Parâmetros
extensionID:String — O identificador de extensão da extensão. Este identificador tem o mesmo valor que o elemento id no arquivo descritor de extensão. Os desenvolvedores de aplicativos também usam este valor no elemento extensionID no arquivo descritor do aplicativo. Todas as extensões compartilham um único namespace global. Por isso, para evitar conflitos de nomes, use a notação de DNS inversa do identificador de extensão.
| |
contextType:String — O tipo de contexto da extensão. Dependendo do tipo de contexto, a implementação nativa pode executar diferentes inicializações. Essas diferenças podem incluir a implementação nativa que especifica um conjunto diferente de funções nativas disponíveis que o lado do ActionScript pode chamar. O valor do tipo de contexto é qualquer string combinada entre o lado do ActionScript e o lado nativo da extensão. As extensões simples muitas vezes não têm nenhum uso para os diferentes tipos de contexto. Nesses casos, passe uma string vazia "" ou null como valor de contexatType .
|
ExtensionContext — A nova instância de ExtensionContext. Retorna null se nenhuma extensão com o valor extensionID estiver disponível ou se o função initializer de contexto especificou no documento extension.xml do dado extensionID que não pode ser encontrado ou chamado.
|
Lança
ArgumentError — O parâmetro extensionID é null ou não é uma ID de extensão válida.
|
dispose | () | método |
public function dispose():void
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 2.5 |
Descarta essa instância de ExtensionContext.
O tempo de execução notifica a implementação nativa, que pode liberar quaisquer recursos nativos associados. Depois de chamar dispose()
, o código não pode chamar o método call()
e não pode obter nem definir a propriedade actionScriptData
.
getExtensionDirectory | () | método |
public static function getExtensionDirectory(extensionID:String):File
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 2.5 |
Retorna o diretório no qual a extensão está instalada no dispositivo.
Às vezes, uma extensão inclui recursos, como imagens que você deseja acessar a partir do código ActionScript da extensão. Às vezes, o código também requer informações que são disponíveis no arquivo descritor de extensão, como o número de versão de extensão. Você pode usar este método para acessar o diretório base da extensão.
Independentemente de onde a extensão está localizada no dispositivo, os arquivos de extensão estão sempre no mesmo local relativo a este diretório base da extensão. Usando a instância de File que este método retorna, você pode navegar até arquivos específicos incluídos com a extensão e manipulá-los.
O diretório de extensão tem a seguinte estrutura:
extension base directory/ platform independent files META-INF/ ANE/ extension.xml platform name/ platform-dependent files and directories
O local do diretório de extensão depende de se a extensão está disponível por meio de integração do aplicativo ou integração do dispositivo como se segue:
- Com a integração do aplicativo, o diretório de extensão está localizado dentro do diretório de aplicativo.
- Com a integração do dispositivo, local do diretório de extensão depende do dispositivo.
Existe uma exceção ao uso de getExtensionDirectory()
para extensões nativas de dispositivos iOS. Os recursos destas extensões não estão localizados no diretório de extensão. Em vez disso, eles estão localizados no diretório de aplicativo de nível superior.
Parâmetros
extensionID:String — O identificador de extensão da extensão. Este identificador tem o mesmo valor que o parâmetro extensionID em createExtensionContext() .
|
File — Uma instância de File para o diretório no qual a extensão está instalada.
|
Lança
TypeError — Parâmetro extensionID não deve ser nulo.
| |
ArgumentError — O valor especificado para o argumento extensionID é inválido. O diretório não existe.
|
status | Evento |
flash.events.StatusEvent
propriedade StatusEvent.type =
flash.events.StatusEvent.STATUS
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 2.5 |
A classe ExtensionContext fornece uma interface de funções de chamada na implementação nativa de uma extensão nativa do Adobe AIR. Você pode usar esta classe somente em classes ActionScript que fazem parte da extensão.
Suporte a perfil do AIR: esse recurso é suportado em dispositivos móveis que iniciam em AIR 3. Também é suportado iniciando em AIR 3 em dispositivos de desktop em aplicativos que usam o perfil de dispositivo extendedDesktop
. É suportado em dispositivos do AIR para TV que iniciam em AIR 2.5 em aplicativos que usam o perfil de dispositivo extendedTV
.
Uma extensão nativa é uma combinação de:
- Classes ActionScript.
- Código nativo. O código nativo é o código executado em um dispositivo fora do tempo de execução. Por exemplo, o código que você programa em C é código nativo.
Você pode criar uma extensão nativa para:
- Dê acesso de aplicativo de AIR a recursos específicos de dispositivo.
- Reutilize código nativo existente.
- Fornece processamento mais eficiente utilizando o código nativo que você pode fornecer com o código de ActionScript.
Use a classe ExtensionContext no lado do de uma extensão ActionScript para acessar o lado nativo da extensão. Primeiro, crie uma instância da classe ExtensionContext. Para isso, chame o método estático ExtensionContext.createExtensionContext()
.
Depois de criar a instância de ExtensionContext, use o método call()
da instância para chamar uma função nativa.
Quando tiver terminado com a instância de ExtensionContext, chame dispose()
para liberar quaisquer recursos nativos associados. Sem uma chamada explícita a dispose()
, o coletor de lixo em tempo de execução chama dispose()
ao descartar a instância. Um chamada explícita a dispose()
normalmente ocorre muito mais cedo do que a espera pelo coletor de lixo.
Uma instância de ExtensionContext pode ouvir eventos StatusEvent que o código nativo emite quando algum evento assíncrono ocorre na implementação nativa da extensão. Visto que a classe ExtensionContext deriva de EventDispatcher, pode despachar eventos.
Define o valor da propriedadetype
de um objeto de evento status
.
Esse evento tem as seguintes propriedades:
Propriedade | Valor |
---|---|
bubbles | false |
cancelable | false ; não há comportamento padrão a ser cancelado. |
code | Uma descrição do status do objeto. |
currentTarget | O objeto que está processando ativamente o objeto Event com um ouvinte de evento. |
nível | A categoria da mensagem, como "status" , "warning" ou "error" . |
target | O objeto que está reportando o status. |
Wed Jun 13 2018, 11:10 AM Z