2011-02-01 5 views
0

私はphonegapを使用してiphoneアプリを開発しています。今、私は、アプリケーションがバックグラウンドに入るときにセッション状態を維持したいと思います。私はそのアプリケーションがOSによって殺されたとしてもその状態を維持したい。 (ちょうどアプリがバックグラウンドに入るときにjavascriptでいくつかの変数を保存することを検討してください)iPhone Webview onBackgroundイベント?

私はそれを行うことができる方法はありますか? UIWebViewは、アプリがバックグラウンドに移動しているときにjavascriptを実行できるようにしますか?

おかげ

答えて

2

は、私は、このようなイベントがあると思いドントので、私はあなたがアプリ内でそれを変更した場合、あなたは常にあなたの状態を保存することをお勧めします。だからあなたはアプリを閉じている間に保存する必要はありません。

+0

:(「カント-行われるジョブ」としてこれを考慮する必要があります私たちは、アプリのバックグラウンドに行くのプロセスを遅らせることができませんか?同様applicationWillResignActivity方法であってもよく、 – Sailesh

+0

あなたは正確に何を達成しようとしていますか?同じことをする別の方法がありますか? –

+0

私はそれが遅すぎると知っていますが、私は誰かが答えを得られることを望んでいました: )。だからあなたの答えを受け入れることは、実際には不可能ではありません、少なくとも、まだ:)。 – Sailesh

0

私はPhoneGapのことは知らないが、Objective-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"メソッドからjavascriptコールを作ろうとしました。任意の目的のCコードが実行されますが、javascriptはobj-c行の前に置かれていても実行されません。だから私はwebview自体がハングアップだけだと思います。これは、あなたが言及した通知方法と異なりますか?私は両方のことが同じだと思ったので、私はそれを試みなかった。そのアプローチで働いているwebviewを持っているなら、教えてください。ありがとう – Sailesh

+0

willResignActiveで実行しないことを私は気付かなかった。私の答えの中のメソッドは、どちらかといえばうまくいきません。 –

0

私はこれを達成する方法はないと思います。誰かが解決策を見つけた場合は、共有してください。

私がしようとしているのは、その時点でJavaScriptのコードを実行できるように、私のwebviewで「app-going-the-background」イベントを取得することだけです。これはapplicationWillResignActivityのobjective-cコードを実行するのと同様です。だから、誰かがこれをどうやって行うことができるかの実例があれば、返信してください。

そうでなければ、私は

関連する問題