[英]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.