2012-04-21 47 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

相關問題