Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/339.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何发送非活动电子邮件?_Java_Android_Android Intent - Fatal编程技术网

Java 如何发送非活动电子邮件?

Java 如何发送非活动电子邮件?,java,android,android-intent,Java,Android,Android Intent,我需要发送电子邮件,所以我创建了一个类,但startActivity(intent)中出现了一个错误。此代码在主活动中运行良好。代码如下: public class SendEmail extends Activity { private String emailTo; private String subject; private String message; public SendEmail(String AEmailTo, String ASubject, String AMessag

我需要发送电子邮件,所以我创建了一个类,但startActivity(intent)中出现了一个错误。此代码在主活动中运行良好。代码如下:

public class SendEmail extends Activity {
private String emailTo;
private String subject;
private String message;

public SendEmail(String AEmailTo, String ASubject, String AMessage) {
    this.emailTo = AEmailTo;
    this.subject = ASubject;
    this.message = AMessage;
}

public void Send(){
     try {          
        Intent intent = new Intent(Intent.ACTION_SEND);
        intent.setType("application/octet-stream");
        intent.putExtra(Intent.EXTRA_SUBJECT, this.subject);
        intent.putExtra(Intent.EXTRA_TEXT, this.message);
        intent.putExtra(Intent.EXTRA_EMAIL, new String[] {this.emailTo});
        intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        startActivity(intent);
       } catch (Exception e) {   
         Log.e("SendMail", e.getMessage(), e);   
       }
    }
}

日志:

11-12 10:54:56.783: E/SendMail(19773): null
11-12 10:54:56.783: E/SendMail(19773): java.lang.NullPointerException
11-12 10:54:56.783: E/SendMail(19773):  at    android.app.Activity.startActivityForResult(Activity.java:2817)
11-12 10:54:56.783: E/SendMail(19773):  at    android.app.Activity.startActivity(Activity.java:2923)
11-12 10:54:56.783: E/SendMail(19773):  at   idealbrasil.forcav.android.SendEmail.Send(SendEmail.java:52)
11-12 10:54:56.783: E/SendMail(19773):  at idealbrasil.forcav.android.util.funcoes.SendEmail(funcoes.java:221)
11-12 10:54:56.783: E/SendMail(19773):  at idealbrasil.forcav.android.util.TrataErro$1.onClick(TrataErro.java:136)
11-12 10:54:56.783: E/SendMail(19773):  at com.android.internal.app.AlertController$ButtonHandler.handleMessage(AlertController.java:158)
11-12 10:54:56.783: E/SendMail(19773):  at android.os.Handler.dispatchMessage(Handler.java:99)
11-12 10:54:56.783: E/SendMail(19773):  at android.os.Looper.loop(Looper.java:123)
11-12 10:54:56.783: E/SendMail(19773):  at android.app.ActivityThread.main(ActivityThread.java:4627)

那里的上下文为null,用于startActivity(),这就是您获得null指针异常的原因。看起来你是Android新手,这个过程并不是按照编码惯例进行的

您可以在类中使用onCreate()方法,然后在类中使用startActivity(),或者将上下文传递给此函数,并调用


context.startActivity(意图)

您需要发布代码的相关部分以及您得到的确切错误。否则没人能帮你。你是在
Send()
之前调用
sendmail()
?新的sendmail(constants.EmailTo,“mensage de Erro”,msn)。Send();我认为你需要再次清除Android活动教程!未创建您的活动。在(系统)调用onCreate之前,不能调用startActivity。您调用SendMail(…).Send()的上下文/发布代码是什么