アプリケーションを再開すると、コントロールAndroidのWebViewが失われます
質問
基本的に、WebViewを使用してアプリの背景にフラッシュファイル(音楽を再生する)を実行しているということです。音楽を停止したいときは、「About:Blank」をロードするだけです。
私のアプリが一時停止されたとき(これまでに正常に動作する)フラッシュファイルの実行(音楽)を維持したいのですが、問題はアプリが再開され、一時停止ボタンを押すと、前のリンクとリンクを変更する代わりに新しいWebViewを起動します。音は止まりません
私が見つけた唯一の解決策は、プロセスを殺してアプリを再起動することでしたが、それは実用的ではありません。アプリを再開するときに同じWebViewを使用できる方法についての考えはありますか?
更新:私は十分に明確ではなかったと思います。WebViewWidgetが「GONE」と記載されています。WebViewで実行されているフラッシュファイルのオーディオのみが必要なので、「再生」ボタンにフラッシュを含むURLがロードされますファイル(ユーザーは音楽のみを聞くので、私がWebViewを使用していることに気付かない)、バック/ホームボタンを押すと音楽が止まらない(私はそれが好きではありません)が、戻って行くと再生中に再び再生する新しいページに別のURLをロードすると、ダブルミュージックが得られます
解決
これにはいくつかの考えられる原因があります。 1つは、単にアクティビティの複数のインスタンスが作成されていることです。あなたがこれを望まないと仮定して、追加してください android:launchMode="singleTask"
また android:launchMode="singleInstance"
あなたのメインに <activity>
AndroidManifest.xmlで。詳細はこちら:http://developer.android.com/guide/topics/manifest/activity-element.html#lmode
それが役に立たない場合、別の可能性は、あなたのアプリケーションがWebViewの新しいインスタンスを作成していることです - 関連するコードが間違った場所にあるためです(例: onStart()
)、またはアプリが実際に破壊され、Androidによって再作成されて再開されたためではなく、古いWebViewスレッドは何らかの理由でまだぶら下がっています。事実であれば、より多くの情報(コードサンプルなど)が問題を特定するのに役立ちます。