我希望让我的应用程序在待机模式下的剧本中运行声音,我把这句话放在启动时
QNXSystem.system.inactivePowerMode = QNXSystemPowerMode.THROTTLED;
现在,当我在模拟器(而不是桌面调试器)上调试应用程序时,我收到了此错误
VerifyError: Error #1079: Native methods are not allowed in loaded code.
我在使用AlertDialog时也遇到了这个错误。
注意:我正在使用Flash构建器,并且已将qnx SWC放在库路径中。 ....所以解决这些问题?
答案 0 :(得分: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 :(得分:1)
将qnx-air.swc链接设置为“external”。