我正在创建一个将值传递给现有应用程序的ANE。我已经编写并测试了Android / Java,它按预期工作。
当我调试时,我编写了AS3和我的编码,我得到了我的ExtensionContext = null的情况。我正在使用Fb 4.7 Pro,Air 3.8和Eclipse的Google ADT版本。
我将在下面分享我的代码:
ActionScript库项目
的extension.xml
<extension xmlns="http://ns.adobe.com/air/extension/3.8">
<id>com.applications.ps</id>
<versionNumber>1</versionNumber>
<platforms>
<platform name="Android-ARM">
<applicationDeployment>
<nativeLibrary>ps.jar</nativeLibrary>
<initializer>com.applications.ps.PExtension</initializer>
<finalizer>com.applications.ps.PExtension</finalizer>
</applicationDeployment>
</platform>
</platforms>
PInterface.as
package
{
import flash.events.EventDispatcher;
import flash.external.ExtensionContext;
public class PInterface
{
private var extContext:ExtensionContext;
public function PInterface()
{
trace("in PExtension Constructor");
if (!extContext) {
trace("Creating extension context.");
extContext = ExtensionContext.createExtensionContext("com.applications.ps",null);
trace(" extContext: "+extContext);
if (extContext){
//extContext.call("initPrint");
trace("created extension context.");}
else{
trace("Failed to create extension context.");
}
}
}
public function aneFunction(name:String):void {
extContext.call("functionA",name);
}
}
}
我的结果是不断的extContext = null。
仅当extensionID不匹配或初始化程序不起作用时才会发生。
这一切对我来说都是正确的......
Eclipse / ADT中的我的Android应用程序包名为com.applications.ps。
答案 0 :(得分:0)
确保将您的AS库创建为Mobile Library
。