Пакет | flash.external |
Класс | public final class ExtensionContext |
Наследование | ExtensionContext EventDispatcher Object |
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 2.5 |
Класс ExtensionContext также обеспечивает статический метод getExtensionDirectory()
для доступа к каталогу, в котором расширение установлено на устройстве. Он также обеспечивает свойство actionScriptData
для общего доступа к данным вместе с собственной реализацией расширения.
Примечание. В программах AIR, в которых используется профиль extendedDesktop
, можно использовать класс NativeProcess для выполнения собственных процессов.
Связанные элементы API
Свойство | Определено | ||
---|---|---|---|
actionScriptData : Object
Объект ActionScript (если таковой имеется), связанный с данным контекстом. | ExtensionContext | ||
constructor : Object
Ссылка на объект класса или функцию конструктора для данного экземпляра объекта. | Object |
Метод | Определено | ||
---|---|---|---|
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Регистрирует объект прослушивателя события на объекте EventDispatcher для получения прослушивателем уведомления о событии. | EventDispatcher | ||
Вызывает собственную функцию, указанную в functionName. | ExtensionContext | ||
[статические]
Создает экземпляр ExtensionContext для указанных идентификатора расширения и типа контекста. | ExtensionContext | ||
Посылает событие в поток событий. | EventDispatcher | ||
Избавляется от этого экземпляра ExtensionContext. | ExtensionContext | ||
[статические]
Возвращает каталог, в котором расширение установлено на устройстве. | ExtensionContext | ||
Проверяет, имеет ли объект EventDispatcher прослушиватели, зарегистрированные для определенного типа события. | EventDispatcher | ||
Показывает, определено ли заданное свойство для объекта. | Object | ||
Показывает, есть ли экземпляр класса Object в цепи прототипов объекта, заданного в качестве параметра. | Object | ||
Показывает наличие заданного свойства и его перечисляемость. | Object | ||
Удаляет прослушиватель из объекта EventDispatcher. | EventDispatcher | ||
Задает доступность динамического свойства для операций цикла. | Object | ||
Возвращает строковое представление этого объекта, отформатированного в соответствии со стандартами, принятыми для данной локали. | Object | ||
Возвращает строковое представление заданного объекта. | Object | ||
Возвращает элементарное значение заданного объекта. | Object | ||
Проверяет, зарегистрирован ли прослушиватель события для указанного типа события с данным объектом EventDispatcher или любым его предшественником. | EventDispatcher |
Событие | Сводка | Определено | ||
---|---|---|---|---|
[многоадресное событие] Отправляется, когда проигрыватель Flash Player или приложение AIR перемещается в фокус операционной системы и становится активным. | EventDispatcher | |||
[многоадресное событие] Отправляется, когда проигрыватель Flash Player или приложение AIR теряет фокус системы и становится неактивным. | EventDispatcher | |||
Класс ExtensionContext предоставляет интерфейс для вызова функций в встроенной реализации встроенного расширения для Adobe AIR. | ExtensionContext |
actionScriptData | свойство |
actionScriptData:Object
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 2.5 |
Объект ActionScript (если таковой имеется), связанный с данным контекстом.
Можно связать любой объект ActionScript с экземпляром ExtensionContext. В собственной реализации можно также получать и задавать этот объект ActionScript. Поэтому можно использовать метод actionScriptData
для совместного использования данных на стороне ActionScript и собственной стороне расширения.
Можно также установить значение actionScriptData
, равное null
.
Реализация
public function get actionScriptData():Object
public function set actionScriptData(value:Object):void
Выдает
IllegalOperationError — Метод dispose() уже вызван в этом экземпляре ExtensionContext.
|
call | () | метод |
public function call(functionName:String, ... args):Object
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 2.5 |
Вызывает собственную функцию, указанную в functionName
. Любые дополнительные аргументы передаются в собственную функцию.
Параметры
functionName:String — Имя, которое представляет функцию в собственной реализации. Это имя может не совпадать с фактическим именем собственной функции и являться любым именем, согласованным в части ActionScript и собственной части расширения.
| |
... args — Список аргументов для собственной функции. Эти аргументы могут быть любыми объектами ActionScript: примитивные типы или объекты класса ActionScript. Типы и прядок аргументов согласованы в части ActionScript и собственной части расширения.
|
Object — Значение, возвращенное собственной функцией. Значение null возвращается, если собственная функция не возвращает значение или возвращает недопустимую ссылку на объект.
|
Выдает
ArgumentError — Отсутствует функция, имя которой совпадает с именем, указанным в functionName .
| |
IllegalOperationError — Метод dispose() уже вызван в этом экземпляре ExtensionContext. Эта ошибка также создается, если собственная функция возвращает недопустимую ссылку на объект.
|
createExtensionContext | () | метод |
public static function createExtensionContext(extensionID:String, contextType:String):ExtensionContext
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 2.5 |
Создает экземпляр ExtensionContext для указанных идентификатора расширения и типа контекста.
Параметры
extensionID:String — Идентификатор расширения. Значение этого идентификатора совпадает со значением элемента id в файле дескриптора расширения. Разработчики программ также используют это значение в элементе extensionID файла дескриптора программы. Все расширения совместно используют одно глобальное пространство имен. Поэтому во избежание конфликтов имен используйте обратную запись DNS для идентификатора расширения.
| |
contextType:String — Тип контекста расширения. В зависимости от типа контекста выполнение инициализации в собственной реализации может различаться. Это различие может заключаться в том, что в собственной реализации указывается другой набор собственных функций, доступных для вызова на стороне ActionScript. Значением типа контекста является любая строка, согласованная между частями ActionScript и собственной частью расширения. В простых расширениях зачастую не используются другие типы контекстов. В этих случаях передайте пустую строку "" или null в качестве значения contextType .
|
ExtensionContext — Новый экземпляр ExtensionContext. Возвращает значение null , если недоступно расширение с данным значением extensionID или если невозможно найти или выполнить функцию инициализации контекста, указанную в документе extension.xml для данного идентификатора extensionID .
|
Выдает
ArgumentError — Параметр extensionID имеет значение null и не является допустимым идентификатором расширения.
|
dispose | () | метод |
public function dispose():void
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 2.5 |
Избавляется от этого экземпляра ExtensionContext.
Среда выполнения уведомляет собственную реализацию, которая может освободить любые связанные собственные ресурсы. После вызова dispose()
код не может вызывать метод call()
и получать или устанавливать значение свойства actionScriptData
.
getExtensionDirectory | () | метод |
public static function getExtensionDirectory(extensionID:String):File
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 2.5 |
Возвращает каталог, в котором расширение установлено на устройстве.
Иногда расширение включает ресурсы, такие как изображения, к которым необходимо получать доступ из кода ActionScript расширения. Иногда код также запрашивает информацию, которая доступна в файле дескриптора расширения, например сведения о номере версии расширения. Этот метод можно использовать для доступа к основному каталогу расширения.
Независимо от того, где расширение определено на устройстве, файлы расширения всегда находятся в том же самом размещении относительно этого основного каталога расширения. С использованием экземпляра File, возвращенного этим методом, можно перейти к определенным файлам, входящим в состав расширения, и управлять ими.
Каталог расширения имеет следующую структуру:
extension base directory/ platform independent files META-INF/ ANE/ extension.xml platform name/ platform-dependent files and directories
Местоположение каталога расширения зависит от того, предоставляется расширение посредством связывания с приложением или связывания с устройством:
- При связывании с приложением каталог расширения располагается в каталоге приложения.
- При связывании с устройством расположение каталога расширения зависит от устройства.
Для встроенных расширений, предназначенных для ОС iOS, существует исключение в отношении использования getExtensionDirectory()
. Ресурсы для этих расширений не находятся в каталоге расширения. Вместо этого они располагаются в каталоге приложения верхнего уровня.
Параметры
extensionID:String — Идентификатор расширения. Значение этого идентификатора совпадает со значением параметра extensionID в createExtensionContext() .
|
File — Экземпляр File для каталога, в котором установлено расширение.
|
Выдает
TypeError — Параметр extensionID не должен быть нулевым.
| |
ArgumentError — Для аргумента extensionID указано недопустимое значение. Каталог не существует.
|
status | Событие |
flash.events.StatusEvent
свойство StatusEvent.type =
flash.events.StatusEvent.STATUS
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 2.5 |
Класс ExtensionContext предоставляет интерфейс для вызова функций в встроенной реализации встроенного расширения для Adobe AIR. Этот класс можно использовать только в классах ActionScript, которые входят в состав расширения.
Поддержка профилей AIR. Эта функция поддерживается на мобильных устройствах, начиная с AIR 3. Начиная с AIR 3, она также поддерживается на компьютерах в приложениях, использующих профиль устройства extendedDesktop
. Она также поддерживается на устройствах с AIR для телевизионных устройств, начиная с AIR 2.5, в приложениях, использующих профиль приложения extendedTV
.
Встроенное расширение представляет собой комбинацию следующих элементов:
- Классы ActionScript.
- Собственный код. Собственный код — это код, который выполняется на устройстве вне среды выполнения. Например, код, который написан на языке C, является собственным кодом.
Можно создать встроенное расширение, чтобы:
- предоставить приложению AIR доступ к определенным возможностям устройства;
- многократно использовать существующий собственный код;
- обеспечить более эффективную обработку с использованием собственного кода, чем при использовании кода ActionScript.
Используйте класс ExtensionContext на стороне расширения ActionScript для доступа к собственной части расширения. Сначала создайте экземпляр класса ExtensionContext. Для этого вызовите статический метод ExtensionContext.createExtensionContext()
.
После создания экземпляра ExtensionContext используйте метод call()
экземпляра для вызова собственной функции.
По завершении работы с экземпляром ExtensionContext вызовите метод dispose()
для освобождения любых связанных собственных ресурсов. Без явного вызова метода dispose()
«сборщик мусора» среды выполнения вызывает метод dispose()
при удалении экземпляра. Явный вызов метода dispose()
, как правило, происходит гораздо быстрее запуска функции «сборщик мусора».
Экземпляр ExtensionContext может прослушивать события StatusEvent, которые отправляет собственный код в случае возникновения некоторых асинхронных событий в собственной реализации расширения. Так как класс ExtensionContext является производным от класса EventDispatcher, он может в свою очередь отправлять события.
Задает значение свойстваtype
для объекта события status
.
Это событие имеет следующие свойства:
Свойство | Значение |
---|---|
bubbles | false |
cancelable | false ; поведение по умолчанию, подлежащее отмене, не определено. |
code | Описание состояния объекта. |
currentTarget | Объект, активно обрабатывающий объект Event с помощью прослушивателя событий. |
level | Категория сообщения, например, status , warning или error . |
target | Объект, сообщающий свое состояние. |
Tue Jun 12 2018, 11:34 AM Z