编码 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/