Pertanyaan Menggunakan AsyncTask untuk Mengirim Email Android


Saya baru saja mengajukan pertanyaan tentang kode berikut:

Mengirim Email di Android menggunakan JavaMail API tanpa menggunakan aplikasi default / built-in

Saya telah menanyakan ini sehubungan dengan kesalahan jaringan, seperti pertanyaan sebelumnya:

Butuh Bantuan Debugging Kode Email

Pertanyaan saya adalah, bagaimana saya menerapkan AsyncTask agar berhasil mengirim email dengan kode Android ini? Setiap tutorial yang saya lihat memberi tahu saya apa yang harus saya lakukan

extend AsyncTask {

Namun, GMailSender.java sudah memiliki definisi ini sebagai:

public class GMailSender extends javax.mail.Authenticator

Adakah yang bisa membantu saya? Terima kasih!

CATATAN:

Tolong jangan seperti idiot yang memiliki -1ed pertanyaan ini dan diposting jawaban yang tepat seperti yang diberikan Mengirim Email di Android menggunakan JavaMail API tanpa menggunakan aplikasi default / built-in. Saya tidak dapat menggunakan pengkodean yang tepat, karena fakta bahwa tidak mungkin lagi menjalankan operasi jaringan pada utas utama aplikasi Android. Saya mencari cara menggunakan AsyncTask untuk menjalankan operasi di latar belakang. Apa yang saya tidak dapat temukan adalah bagaimana melakukannya

extend AsyncTask {

tanpa menyentuh

public class GMailSender extends javax.mail.Authenticator

7
2018-01-17 08:06


asal


Jawaban:


Ada contoh yang cukup bagus di atas AsyncTask halaman dokumen.

Lewati Anda GMailSender objek ke dalam AsyncTask, dan telepon GMailSender#sendMail selama doInBackground.

Itu adalah,

public void onClick(View v) {
    final GMailSender sender = new GMailSender("username@gmail.com", "password");
    new AsyncTask<Void, Void, Void>() {
        @Override public Void doInBackground(Void... arg) {
            try {   
                sender.sendMail("This is Subject",   
                    "This is Body",   
                    "user@gmail.com",   
                    "user@yahoo.com");   
            } catch (Exception e) {   
                Log.e("SendMail", e.getMessage(), e);   
            } 
        }
    }.execute();

}

9
2018-01-17 08:11



public void onClick(View v) {
final GMailSender sender = new GMailSender("username@gmail.com",       "password");
new AsyncTask<Void, Void, Void>() {
    @Override public Void doInBackground(Void... arg) {
        try {   
            sender.sendMail("This is Subject",   
                "This is Body",   
                "user@gmail.com",   
                "user@yahoo.com");   
        } catch (Exception e) {   
            Log.e("SendMail", e.getMessage(), e);   
        } 
    return null;}
}.execute();

}

Terima kasih "dokkaebi"


1
2018-01-08 04:08