6

サービスウィッチにメソッドがあり、スレッド内から呼び出す必要がありますが、そのコードをスレッドで実行したくありません。

アクティビティがなく、サービスから呼び出している場合、runOnUiThreadを呼び出すにはどうすればよいですか?

ありがとう。

AsyncTaskソリューションには興味がありません!

4

2 に答える 2

7

多分Handlerあなたを助けることができます。ハンドラーは、作成されたスレッドに関連付けられた要素です。コードを含むランナブルをハンドラーに投稿できます。そのランナブルは、ハンドラーが作成されたスレッドで実行されます。

情報リンク: http ://developer.android.com/reference/android/os/Handler.html

于 2012-10-03T11:54:53.763 に答える
3

あなたが誤用している言葉の量は困惑しています。runOnUiThreadは、MAINスレッドでコードを実行するためのヘルパーメソッドです。通常、作業中のスレッドからUIを更新しようとするときに、このメソッドを使用します。doensにはUIがないため、ServicerunOnMainThreadは非常に不適切に見えます。

質問は、次のいずれかに言い換える必要があります。

  • コードをメインスレッドから実行するにはどうすればよいですか?

AsyncTaskまたはを使用しIntentServiceます。

  • 現在別のスレッドにいるときに、MainThreadでコードを実行するにはどうすればよいですか。(通常はActivity runOnUiThread缶に入れて使用できます。)

彼のMainThreadにを作成し、投稿Handler/メッセージを送信します。ServiceRunnables

于 2012-10-03T11:27:30.257 に答える