2011-02-01 48 views
0

我正在開發使用phonegap的iPhone應用程序。現在我想在應用程序進入後臺時保持會話狀態。即使應用程序被操作系統殺死,我也想堅持這種狀態。 (只需考慮在應用程序進入後臺時在javascript中保存一些變量)iPhone Webview onBackground事件?

有沒有什麼辦法可以做到這一點?當應用程序移動到背景時,UIWebView是否允許執行JavaScript?

感謝

回答

2

我不認爲有這樣的活動,所以我建議您經常儲存狀態如果您的應用程序內更改。所以你不必在關閉應用程序時保存。

+0

我們不能耽誤在後臺的應用程序去的過程?等可在applicationWillResignActivity方法,給webView多一點時間來執行指令? – Sailesh 2011-02-02 18:11:45

+0

你到底想要達到什麼目的?也許是另一種方法來做同樣的事情? – 2011-02-03 07:21:44

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

0

我想沒有辦法做到這一點。如果有人找到解決方案,請分享。

我所要做的就是在我的webview中獲取「app-going-to-the-background」事件,以便我可以在此處運行一些JavaScript代碼。它類似於在applicationWillResignActivity中運行Objective-C代碼。因此,如果任何人都有如何做到這一點的工作示例,請回復。

,否則我將不得不考慮這是「着待完成作業」 :(