| Пакет | 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
Скрыть унаследованные общедоступные свойства
Показать унаследованные общедоступные свойства