通过Intent发送电子邮件似乎不起作用

时间:2014-01-30 09:18:24

标签: android android-intent

我是 Android 的新手,并且正在尝试发送一封发送电子邮件的应用。我已经在线阅读了一些教程,并试图通过 Intent 来实现这一点,但它似乎不适用于模拟器

这就是我所做的:

的OnClick:

send.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View arg0) {
            // TODO Auto-generated method stub
            sendemail();
            recipent.setText("");
            subject.setText("");
            message.setText("");

        }

方法sendemail():

private void sendemail() {
            // TODO Auto-generated method stub
            String[] recipients = {recipent.getText().toString()};

            Intent i=new Intent(Intent.ACTION_SEND, Uri.parse("mailto:"));
            i.setType("message/rfc822");
            i.putExtra(Intent.EXTRA_EMAIL, recipients);
            i.putExtra(Intent.EXTRA_SUBJECT, subject.getText().toString());
            i.putExtra(Intent.EXTRA_TEXT, message.getText().toString());

             try {

                         // the user can choose the email client

                          startActivity(Intent.createChooser(i, "Choose an email client from..."));



                       } catch (android.content.ActivityNotFoundException ex) {

                          Toast.makeText(MainActivity.this, "No email client installed.",

                                  Toast.LENGTH_LONG).show();

                       }

        }
    });

如果能帮助我,那就太好了。 感谢。

4 个答案:

答案 0 :(得分:0)

使用以下代码......

private void sendemail(){
    Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND);
    emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL, new String[] {"mail-id"});
    emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, subject);
    emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, message);
    emailIntent.setType("message/rfc822");
    startActivity(Intent.createChooser(emailIntent, "Choose an email client from..."));
}

答案 1 :(得分:0)

我使用以下简单代码,我可以发送邮件。试试吧。

Intent in = new Intent(Intent.ACTION_SEND);
in.putExtra(Intent.EXTRA_EMAIL, new String[] {""});
in.putExtra(Intent.EXTRA_SUBJECT, new String[] {""});
in.putExtra(Intent.EXTRA_TEXT, new String[] {""});

in.setType("text/plain");
//Intent.createChooser(
startActivity(in);

答案 2 :(得分:0)

您将无法使用模拟器发送电子邮件。

您需要一个Android设备,并在设备上配置一个电子邮件帐户,以便您发送电子邮件。

答案 3 :(得分:0)

Intent intent = new Intent(Intent.ACTION_SEND);
intent.setType("text/plain");
intent.putExtra(Intent.EXTRA_EMAIL, "emailaddress@emailaddress.com");
intent.putExtra(Intent.EXTRA_SUBJECT, "Subject");
intent.putExtra(Intent.EXTRA_TEXT, "I'm email body.");

startActivity(Intent.createChooser(intent, "Send Email"));