Rumah >Java >javaTutorial >Bagaimana untuk Menyiarkan Tugasan ke Thread Utama Android daripada Thread Lain?

Bagaimana untuk Menyiarkan Tugasan ke Thread Utama Android daripada Thread Lain?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-09 04:59:18242semak imbas

How to Post Tasks to the Android Main Thread from Another Thread?

Menyiarkan Tugasan ke Benang Utama daripada Benang Lain dalam Perkhidmatan Android

Dalam perkhidmatan Android, apabila mencipta urutan untuk tugasan latar belakang, tugasan tertentu mungkin diperlukan, seperti Runnables, pada baris gilir mesej utas utama dari urutan lain.

Untuk mencapai ini, Android menyediakan dua penyelesaian:

Menggunakan Objek Konteks

Jika utas latar belakang mempunyai rujukan kepada objek Konteks, anda boleh mengakses Pengendali utas utama seperti ini:

// Get a handler that can be used to post to the main thread
Handler mainHandler = new Handler(context.getMainLooper());

Runnable myRunnable = new Runnable() {
    @Override 
    public void run() {....} // This is your code
};
mainHandler.post(myRunnable);

Tanpa Menggunakan Objek Konteks

Jika utas latar belakang tidak mempunyai objek Konteks, anda boleh terus mengakses Looper utas utama dan cipta Pengendali:

// Get a handler that can be used to post to the main thread
Handler mainHandler = new Handler(Looper.getMainLooper());

Runnable myRunnable = new Runnable() {
    @Override 
    public void run() {....} // This is your code
};
mainHandler.post(myRunnable);

Dengan salah satu pendekatan ini, anda boleh menyiarkan tugasan ke baris gilir mesej utas utama dan memastikan tugasan itu dilaksanakan dalam utas utama, membolehkan anda mengemas kini komponen UI atau melaksanakan operasi lain yang memerlukan akses kepada sumber utama aplikasi.

Atas ialah kandungan terperinci Bagaimana untuk Menyiarkan Tugasan ke Thread Utama Android daripada Thread Lain?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn