0

バックグラウンドで実行されるタスクがあります。このバックグラウンドタスクでWebviewを使用したいと思います。バックグラウンドタスクは、新しいインテントを介して新しいアクティビティWebを作成します。すべてのWebビューアクティビティ(URLのロード、戻るなど)はWebのメソッドにあります。これらのメソッドは、バックグラウンドタスクのメソッドから呼び出されます。この手順は、一部のデバイスで正常に機能します。

一部のデバイスから次のメッセージが表示されてクラッシュが発生しています。

"android.view.ViewRoot $ CalledFromWrongThreadException:ビュー階層を作成した元のスレッドのみがそのビューにアクセスできます。"

バックグラウンドがWebでgoback()メソッドを呼び出した後。

どうやらWebはバックグラウンドタスクとは異なるスレッドで実行されているようです。これについて私は何ができますか?

4

1 に答える 1

1

バックグラウンドタスクからUIを更新するときは常に、runOnUIThread(http://developer.android.com/reference/android/app/Activity.html#runOnUiThread (java.lang.Runnable))を使用する必要があります。

于 2012-06-08T22:52:54.823 に答える