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

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

Susan Sarandon
Susan Sarandonオリジナル
2024-12-04 18:52:12669ブラウズ

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 までご連絡ください。