Intereting Posts

Использование AsyncTask для отправки электронной почты Android

Недавно я задал вопрос относительно следующего кода:

Отправка электронной почты на Android с использованием API JavaMail без использования стандартного / встроенного приложения

Я спросил об этом в отношении сетевой ошибки в соответствии с предыдущим вопросом:

Нужна помощь Отладка кода электронной почты

Мой вопрос заключается в том, как мне реализовать AsyncTask, чтобы успешно отправить электронное письмо с этим кодом Android? Каждый учебник, который я вижу, сообщает мне, что я должен сделать

extend AsyncTask { 

Однако GMailSender.java уже определил это как:

 public class GMailSender extends javax.mail.Authenticator 

Кто-нибудь сможет мне помочь? Благодаря!

ЗАМЕТКА:

Пожалуйста, не будьте похожими на идиота, который задал этот вопрос, и отправил точный ответ, как это было указано в Отправлении электронной почты на Android с использованием API JavaMail без использования стандартного / встроенного приложения . Я не могу использовать это точное кодирование из-за того, что больше не возможно запустить сетевую операцию в основном потоке приложения Android. Я ищу способ использовать AsyncTask для запуска операции в фоновом режиме. То, что я не могу узнать, это как сделать

 extend AsyncTask { 

Без прикосновения

 public class GMailSender extends javax.mail.Authenticator 

На странице документации AsyncTask есть довольно хороший пример.

Передайте свой объект GMailSender в AsyncTask и вызовите GMailSender#sendMail во время doInBackground .

То есть,

 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(); } 
 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(); } 

Спасибо, "dokkaebi"