我正在使用this article来帮助我发送自动发送的电子邮件,但我遇到的问题似乎没有发生任何事情,也没有产生任何错误。
我使用过AsyncTask但它根本没有发送邮件。
public class Sender扩展了AsyncTask<空隙,空隙,空隙> {
private Exception exception; protected Void doInBackground(String... arg0) { Log.v("aws", "OPEN asa"); Mail m = new Mail("email@email.com", "password"); String[] toArr = {"to@mail.com"}; m.setTo(toArr); m.setFrom("from@gmail.com"); m.setSubject("This is an email sent using my Mail JavaMail wrapper from an >Android device."); m.setBody("Email body."); try { //m.addAttachment("/sdcard/filelocation"); if(m.send()) { Log.v("aws", "OK SENT"); } else { Log.v("aws", "NOT SENT"); } } catch(Exception e) { Log.v("aws", "EXCEPTION . NOT SENT"); } return null; } @Override protected Void doInBackground(Void... arg0) { // TODO Auto-generated method stub return null; } protected void onPostExecute(Void... arg0) { // TODO: check this.exception // TODO: do something with the feed }
}
我已经使用new Sender().execute();
来执行任务,但没有任何事情发生,并且没有抛出任何错误。
我做错了什么?
修改
代码有两个doInBackground
,第二个覆盖了我的工作doInBackground
答案 0 :(得分:1)
请注意,代码中有两个doInBackground()
方法,而@Override
版本是由AsyncTask
执行的。只需将代码从错误的doInBackground()
版本移到右侧,然后删除错误的版本。