iPhone Webview onBackground事件?

时间:2011-02-01 17:18:16

标签: iphone cordova uiwebview mgwt

我正在使用phonegap开发iphone应用程序。现在我想在应用程序进入后台时保持会话状态。即使应用程序被操作系统杀死,我也希望保持该状态。 (当应用程序进入后台时,只考虑在javascript中保存一些变量)

有什么方法可以做到吗?当应用程序移动到后台时,UIWebView是否允许执行javascript?

由于

3 个答案:

答案 0 :(得分:2)

我不认为有这样的事件,所以如果你在你的应用程序中更改它,我建议你总是保存你的状态。所以你不必在关闭应用程序时保存。

答案 1 :(得分:0)

我不知道phoneGap,但是在objective-c中你可以添加一个观察者(注册应用进入后台时的通知)

 [[NSNotificationCenter defaultCenter] addObserver:self
    selector: @selector(enteredBackground) 
    name: UIApplicationDidEnterBackgroundNotification
    object: nil];

然后创建一个名为enteredBackground的方法,您可以输入如下代码:

[myWebView stringByEvaluatingJavaScriptFromString:@"Do something in javascript"];

Do something in javascript替换为您要执行的代码。 请参阅:http://developer.apple.com/library/ios/documentation/uikit/reference/UIWebView_Class/Reference/Reference.html#//apple_ref/occ/instm/UIWebView/stringByEvaluatingJavaScriptFromString

答案 2 :(得分:0)

我认为没有办法实现这一目标。如果有人找到了解决方案,请分享。

我想要做的就是在我的网页浏览中获取“app-going-to-the-background”事件,以便我可以在此时运行一些javascript代码。它类似于在applicationWillResignActivity中运行objective-c代码。因此,如果有人知道如何做到这一点,请回复。

否则,我将不得不将此视为“不能完成的工作”:(