P.H*_*son 5 javascript android cordova
由于某种原因,暂停事件不会在应该触发时触发.
如果我按下手机上的主页按钮,则应该触发暂停事件,这应该暂停音乐.但相反,它继续播放它.
但是,当我再次打开我的应用程序时,它突然暂停,然后恢复.因此,当我返回应用程序时,它会触发这两个事件.
当我离开应用程序时,为什么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');
}
Run Code Online (Sandbox Code Playgroud)
我想我有同样的问题.我已将Phonegap config.xml变量KeepRunning设置为false.我设置为true,现在它应该得到暂停事件.这是我正在讨论的config.xml行:
<preference name="KeepRunning" value="true"/>
Run Code Online (Sandbox Code Playgroud)
我认为如果应用程序没有运行,那么暂停事件代码将无法运行,直到应用程序再次运行.我猜KeepRunning的优先级高于监听暂停事件.获得一个正确的解释,为什么这是完全在较低的水平将是有趣的.
你在 iOS 上测试吗?我发现这是 iOS 上的“正常”行为,Phonegap 文档也指出:
在暂停处理程序中,对 Cordova API 或通过 Objective-C 的本机插件的任何调用以及任何交互式调用(例如警报或 console.log())都不起作用。仅当应用程序在下一个运行循环中恢复时才会处理它们。
因此,根据文档,alert('paused)
关闭应用程序时您将永远不会看到 。
然而,我的观察是,代码是在应用程序暂停时执行的,只有控制台打印被延迟,直到下一个应用程序重新启动。
如果您的PauseMusic()
调用未执行,您可能应该发布更多代码并查看是否存在问题。
归档时间: |
|
查看次数: |
4569 次 |
最近记录: |