android - 在 ANE 中调度事件

标签 android apache-flex events mobile adobe

编码 Air Native 扩展:

如何从 Android native 代码分派(dispatch)事件并使 ANE 的 ActionScript 接口(interface)部分监听该事件并听到它?

我到处都查过了,但我似乎无法弄清楚这一点。

最佳答案

as3部分

package com.yourpackage
{
    import flash.events.EventDispatcher;
    import flash.events.IEventDispatcher;
    import flash.events.StatusEvent;
    import flash.external.ExtensionContext;

    public class EventCaller extends EventDispatcher
    {
        private var context:ExtensionContext;

        public function EventCaller(target:IEventDispatcher=null)
        {
            super(target);      
            if(!context)
                context = ExtensionContext.createExtensionContext("com.yourpackage", null);
            if(context)
                context.addEventListener(StatusEvent.STATUS,statusHandle);
        }
        // listener function
        public function statusHandle(event:StatusEvent):void{
            trace(event);
            // process event data
        }

        public function requestEvent():void{
            context.call("requestEvent");
        }
    }
}

java部分(只是函数部分)

public class RequestEvent implements FREFunction {  

    @Override
    public FREObject call(FREContext context, FREObject[] args) {

               // dispatching event
               context.dispatchStatusEventAsync("someCode", "someLevel");

               Boolean value = true;               
               return FREObject.newObject(value);
        }
}

关于android - 在 ANE 中调度事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16224373/

相关文章:

java - 使用 Java 将事件添加到特定的 Google 日历

android - 方形/ Dagger 。安卓。 java.lang.StackOverflowError 错误

Android 无需用户交互的推送通知

android - 什么是工具 :layout_constraintBaseline_creator attribute in ConstraintLayout?

apache-flex - 集成 R 和 Flash/Flex 的最佳方式

c# - 如何触发当前类(class)无法触及的事件?

android - 仅在 android 中设置顶部边距?

apache-flex - Flex 布局概述 - 有什么方法可以获得组件的首选尺寸?

apache-flex - 我可以使用哪些算法来计算音量?

c# - 为什么异常会传播出事件处理程序?