2010-12-27 9 views
3

基本的に何をしているのは、webviewを使ってアプリケーションのバックグラウンドでフラッシュファイル(音楽を再生中)を実行しているときで、 about:blank "私はアプリケーションの再開時にコントロールのAndroidのWebviewを失う

私のアプリが一時停止すると(音楽は)、私はいつもうまくいきます。問題は、アプリが再開したときに一時停止ボタンを押すと、新しいWebviewが起動されます前のリンクと音が止まらない

私が見つけた唯一の解決策は、プロセスを終了してアプリケーションを再起動することでしたが、それは実用的ではありません。どのようにして同じWebview aを再開するときpp?

更新:私は十分にはっきりしていなかったと思いますが、私はwebviewウィジェットが "なくなった"と述べています。私はwebviewで実行しているFlashファイルのみを必要とします。 (私はそれを好きですが)停止しないバック/ホームボタンを押すと、フラッシュファイルを含む(ユーザーが音楽を聞くだけで、私がwebviewを使用していることに気付かないように)私は元に戻って、新しいページに別のURLをロードして、もう一度再生してください。

+0

「一時停止ボタンを押してください」とは何ですか? 「新しいWebviewを起動する」とは何ですか?ウィジェットは、Androidアプリケーション開発では起動されません。 – CommonsWare

+0

私はいくつかの説明を追加しました。うまくいけばそれが役に立ちます – Jimmar

答えて

2

これにはいくつかの原因が考えられます。 1つは、アクティビティーの複数のインスタンスが作成されていることです。これが欲しいと思わない場合は、AndroidManifest.xmlの<activity>メインにandroid:launchMode="singleTask"またはandroid:launchMode="singleInstance"を追加してください。詳細:それでも解決しない場合は http://developer.android.com/guide/topics/manifest/activity-element.html#lmode

は、別の可能性は、アプリケーションがWebViewのの新しいインスタンスを作成していることである - のいずれかの関連するコードが間違った場所にあるため(例えばonStart())、または理由アプリは実際には一時停止して再開するのではなく、Androidによって破壊されて再作成されています。古いWebViewスレッドは何らかの理由でまだぶら下がっています。そのような場合には、問題の特定に役立つ情報(コードサンプルなど)があります。

+0

これは若干異なるテーマですが、望むものによっては、WebViewの '.onPause'と' .onResume'メソッドを呼び出して音楽を一時停止し、別のページを読み込むのではなく、 –

+0

バックボタンを押したときに停止することで問題を解決しました。[onStop] を保留するためにホームボタンを押す必要がありますが、WebViewのonPauseとonResumeはありませんでした。D 多すぎる – Jimmar

+0

問題ありません。また、あなたのアプリケーションを終了した後にフラッシュがハングしないようにするには、onDestroy()などで 'webView.destroy()'を呼び出すこともできます。 –

関連する問題