当app进入后台时消防javascript功能

时间:2012-10-22 10:40:39

标签: javascript objective-c xcode4.5

我的应用程序有一个计时器应该在应用程序处于后台时触发,但是,由于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。

2 个答案:

答案 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
        }

希望它有所帮助!