1

私の質問は非常に単純ですが、満足のいく答えを見つけることができません。Looper.prepare()問題は、私のスレッドの開始時に呼び出した場合、私のスレッドは UI スレッドで実行されRunnableますか?

Looperスレッド間でデータを交換することは知ってMessageQueueいますが、UIスレッドでコードを実行できますか?

以下のコードで説明します。

@Override
public void onReceive(final Context context, Intent intent) {
if(intent.getAction().equals(ConnectivityManager.CONNECTIVITY_ACTION)) {

        Runnable runnable = new Runnable() {
            @Override
            public void run() {
                Looper.prepare();
                // ... some code ... //
                Looper.loop();
            }
        };

        Thread thread = new Thread(runnable);
        thread.start();
    }
}
4

1 に答える 1

1

いいえ、スレッドが UI スレッドで実行されることはありません。詳細については、UI スレッドとの通信を参照してください。

于 2015-07-14T08:45:10.363 に答える