2012-04-21 64 views
1

我不想让我的应用程序运行的声音,而在待机模式下的剧本,我把在这条语句启动如何解决“本地方法是不允许在加载代码”错误

QNXSystem.system.inactivePowerMode = QNXSystemPowerMode.THROTTLED; 

现在,当我调试在模拟器(不台式机调试器)的应用程序,我得到这个错误

VerifyError: Error #1079: Native methods are not allowed in loaded code. 

而且这个错误我使用AlertDialog时有也。

注:我正在使用Flash构建器,并且已将qnx SWC放入库路径中。 ....所以要解决这些问题?

回答

1

为了让编译的代码能够在本地扩展模拟器上运行,我们不得不将原生扩展的代码放在永远不会执行的方法中(当在模拟器上时)。

仅仅将有问题的代码包装在if/else块中是不够的。 if/else需要调用具有本机版本或代码模拟器版本的另一种方法。

例如:

private function showNativeOrFlexAlert(message:String):void 
{ 
    // we used the Capabilities class to determine this, might be a better way 
    if (isMobile) 
     showNativeAlert(message); 
    else 
     showFlexAlert(message); 
} 

// have to be careful here, this method signature CANNOT include 
// any classes from native extension -- no errors on device, but fails on simulator 
private function showNativeAlert(message:String):void 
{ 
    // use native API to show alert 
} 
private function showFlexAlert(message:String):void 
{ 
    // use the Flex Alert class 
} 
1

设置QNX-air.swc联动 “外部”。

+0

天啊!谢谢! – 2017-02-27 10:17:55

相关问题