2011-02-01 4 views
0

나는 phonegap을 사용하여 iphone 앱을 개발 중입니다. 이제 앱이 백그라운드로 들어가면 세션 상태를 유지하려고합니다. 응용 프로그램이 OS에 의해 종료 되더라도 그 상태를 유지하고 싶습니다. (앱이 백그라운드로 들어가면 자바 스크립트에서 일부 변수를 저장하는 것을 고려하십시오)iPhone Webview onBackground 이벤트?

내가 할 수있는 방법이 있습니까? 앱이 백그라운드로 이동할 때 UIWebView에서 자바 스크립트를 실행할 수 있습니까?

감사

답변

2

나는 그런 이벤트가 있다고 생각하지는 그래서 앱 내에서 변경하면 당신은 항상 당신의 상태를 저장하는 것이 좋습니다 것입니다. 따라서 앱을 닫는 동안 저장하지 않아도됩니다.

+0

우리는 응용 프로그램의 배경에가는 과정을 지연 할 수 없기 때문에이를 고려해야 할 것입니까?처럼 applicationWillResignActivity 방법에있을 수 있습니다, 웹보기에 지침을 실행할 시간을 좀 더 주시겠습니까? – Sailesh

+0

정확히 무엇을 달성하려고합니까? 동일한 작업을 수행하는 또 다른 방법이 있습니까? –

+0

너무 늦었습니다.하지만 누군가가 대답을하기를 바랐습니다.). 그래서 당신의 대답을 받아 들일 수는 없지만 적어도 아직은 가능하지 않습니다. – Sailesh

0

내가 폰갭에 대해 잘 모르지만, 목표 - C에서 당신은 관찰자 (앱이 백그라운드로 전환 할 때 알림 등록)

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

그런 다음 enteredBackground라는 방법을 만들을 추가 할 수 있으며 당신은 당신이 실행하고자하는 코드로 Do something in javascript 교체

[myWebView stringByEvaluatingJavaScriptFromString:@"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

팁 주셔서 감사. "applicationWillResignActivity"메서드에서 자바 스크립트 호출을 시도했다. 객관적인 -C 코드가 실행되는 동안 javascript는 obj-c 행 앞에 놓여져도 실행되지 않습니다. 그래서 나는 webview 자체가 끊어지는 것 같아요. 언급 한 알림 방식과 다른가요? 나는 두 가지가 모두 같다고 생각했기 때문에 그것을 시도하지 않았다. 해당 접근 방식에서 작동하는 웹 뷰가 있다면 알려주십시오. 감사합니다 – Sailesh

+0

내가 wouldR willRecordActive에서 실행할 수 없다는 것을 확신하지 못했습니다. 내 대답에있는 방법은 약간 나중에 소리라고 추측 될 것이고 이제는 작동하지 않을 것이다. –

0

나는 이것을 달성 할 방법이 없다고 생각한다. 누구든지 해결책을 찾은 경우 공유하십시오.

내가하려는 것은 내 webview에서 "app-going-to-the-background"이벤트를 얻는 것이므로 그 시점에서 일부 자바 스크립트 코드를 실행할 수 있습니다. applicationWillResignActivity에서 objective-c 코드를 실행하는 것과 비슷합니다. 따라서 누군가가 어떻게 할 수 있는지에 대한 실례를 가지고 있다면 답장을 보내주십시오.

그렇지 않으면, 나는 "캔트 --할 수-일":(