ホームページ > Java > &#&チュートリアル > Android でバックグラウンド スレッドからメイン スレッドにランナブルを投稿するにはどうすればよいですか?

Android でバックグラウンド スレッドからメイン スレッドにランナブルを投稿するにはどうすればよいですか?

Susan Sarandon
リリース: 2024-12-04 18:52:12
オリジナル
686 人が閲覧しました

How to Post Runnables from Background Threads to the Main Thread in Android?

他のスレッドからメイン スレッドへの投稿

Android サービスでは、多くの場合、バックグラウンド スレッドがメイン スレッドと対話する必要があります。実行可能ファイルをメッセージ キューに投稿するなど。これを実現するには、次の解決策を検討してください。

解決策 1: コンテキスト オブジェクトを使用する

バックグラウンド スレッドがコンテキスト オブジェクト (アプリケーションやサービスなど) にアクセスできる場合context) を使用して、メイン スレッドのハンドラーを取得できます。

Handler mainHandler = new Handler(context.getMainLooper());
ログイン後にコピー

その後、次のことができます。次のように Runnable をメイン スレッドに投稿します。

mainHandler.post(myRunnable);
ログイン後にコピー
ログイン後にコピー

解決策 2: Looper.getMainLooper() を使用する

バックグラウンド スレッドに Context オブジェクトがない場合、

Handler mainHandler = new Handler(Looper.getMainLooper());
ログイン後にコピー

を使用してメインスレッドの Looper を取得できます。これにより、投稿が可能になります。メインスレッドにも実行可能:

mainHandler.post(myRunnable);
ログイン後にコピー
ログイン後にコピー

以上がAndroid でバックグラウンド スレッドからメイン スレッドにランナブルを投稿するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート