簡體   English   中英

科爾多瓦:暫停賽事沒有開火

[英]Cordova: Pause event not firing

由於某種原因,暫停事件不會在應該觸發時觸發。

如果我按下手機上的主頁按鈕,則應該觸發暫停事件,這應該暫停音樂。 但相反,它繼續播放它。

但是,當我再次打開我的應用程序時,它突然暫停,然后恢復。 因此,當我返回應用程序時,它會觸發這兩個事件。

當我離開應用程序時,為什么onPause不會觸發?

我有以下代碼:

function onLoad() {
    document.addEventListener("deviceready", onDeviceReady, false);

function onDeviceReady() {
    document.addEventListener("resume", onResume, false);
    document.addEventListener("pause", onPause, false);
}

function onPause() {
    PauseMusic();
    alert('paused');
}

function onResume() {
    ResumeMusic();
    alert('resumed');
}

我想我有同樣的問題。 我已將Phonegap config.xml變量KeepRunning設置為false。 我設置為true,現在它應該在它應該的時候獲得暫停事件。 這是我正在討論的config.xml行:

<preference name="KeepRunning" value="true"/>

我認為,如果應用程序沒有運行,那么暫停事件代碼將無法運行,直到應用程序再次運行。 我猜KeepRunning的優先級高於監聽暫停事件。 獲得一個正確的解釋,為什么這是完全在較低的水平將是有趣的。

你在iOS上測試嗎? 我發現這在iOS上是“正常”行為,Phonegap文檔也指出

在暫停處理程序中,對Cordova API或通過Objective-C的本機插件的任何調用都不起作用,以及任何交互式調用,例如警報或console.log()。 它們僅在應用程序恢復時在下一個運行循環中處理。

因此,根據文檔,您在關閉應用程序時將永遠不會看到alert('paused)

但是,我的觀察是代碼是在應用程序暫停時執行的,只有控制台打印才會延遲,直到下一個應用程序重新啟動。

如果你的PauseMusic()調用沒有被執行,你可能應該發布更多的代碼,看看是否存在問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM