我的应用程序有一个计时器应该在应用程序处于后台时触发,但是,由于ios怪癖,我的onPause函数在应用程序恢复之前不会被触发。我一直在研究从obj-C中激活javascript函数的方法,但似乎无法让它工作。
我有以下代码
// CUSTOM CODE TO DETECT APP STATE
- (void)applicationDidEnterBackground:(UIApplication *)application {
NSString* jsString = [NSString stringWithFormat:@"onPause;"];
[self.viewController.webView stringByEvaluatingJavaScriptFromString:jsString];
NSLog(@"OBJ-C paused");
}
我的js代码看起来像这样;
function onPause() {
console.log("JS paused");
}
当应用程序进入后台时,我可能看起来是我的OBJ-C日志,但无法获取js日志,当我启动应用程序备份时,计时器没有暂停。
任何人都可以提供帮助或告诉我我做错了什么,我没有使用OBJ-C的经验并且使用的是Phonegap 2.1.0。
答案 0 :(得分:0)
尝试使用applicationWillResignActive:
。
如果应用已经发送到后台,应用可能不会再做出反应。
答案 1 :(得分:0)
解决!!! 在以下链接here中。有2个无证事件;辞职和积极使我的工作符合我的目的。
document.addEventListener("resign", resign, false);
document.addEventListener("active", active, false);
function resign() {
// pause code fired
}
function active() {
//resume code fired
}
希望它有所帮助!