2012-01-17 87 views
-1

我想知道从我的应用程序发送电子邮件的最简单方法是什么。Android - 电子邮件

我基本上有2个TextViews和我需要去的电子邮件中发送该信息2个的EditText框的页面。

我也有一个包含用户的电子邮件地址的EditText框。

我需要再使用enterered电子邮件地址,并抢得的信息,此页面上的其余部分上的按钮点击发送电子邮件给用户。

我看过并尝试过各种各样的东西,但是没有任何东西可以工作。有人能指出我的方向是正确的还是提供一个详细的教程来解释从头到尾的整个过程。

最后,将在实际设备上这只是工作(连接到互联网)?

在此先感谢。

+0

仅供将来参考,您需要接受正确答案以解决您的问题,否则无人会愿意帮助您。 – bschultz

回答

4

试试这个:

Intent intent = new Intent(Intent.ACTION_SEND); 
intent.setType("plain/text"); 
intent.putExtra(Intent.EXTRA_EMAIL, new String[] { "[email protected]" }); 
intent.putExtra(Intent.EXTRA_SUBJECT, "subject"); 
intent.putExtra(Intent.EXTRA_TEXT, "mail body"); 
startActivity(Intent.createChooser(intent, "")); 

它只会在实际设备上运行。

+0

此代码可以使用或不使用互联网连接,因此没有互联网时没有例外或任何东西。但显然你不能发送没有互联网的邮件。 – Thommy

0

这是我用来发送电子邮件的代码片段。请注意,此方法不是自动的,它会显示您可以选择的应用程序列表(默认电子邮件,Gmail,短信,evernote,弹簧垫等)。

final Intent emailIntent = new Intent(Intent.ACTION_SEND); 
    emailIntent.setType("text/plain"); 
    emailIntent.putExtra(Intent.EXTRA_SUBJECT, "Test Message"); 
    emailIntent.putExtra(Intent.EXTRA_TEXT, "This is a test message"); 
    Uri attachment = null; 
    if (mAttachHTML && (attachment = writeToExternalStoragePublic()) != null) { 
     emailIntent.putExtra(Intent.EXTRA_STREAM, attachment); 
    } 
    startActivity(Intent.createChooser(emailIntent, getString(R.string.reporting_sharemessage))); 

这种方法似乎不适用于我在模拟器中,但在设备上完美工作。

0

到目前为止发送电子邮件的最简单方法是激发一个Intent要做到这一点,而不是实现自己的电子邮件发送功能。

您可以通过触发android.content.Intent.ACTION_SENDIntent并将其他字段配置为电子邮件字段来实现。进一步来说;

Intent.EXTRA_EMAIL,其目的地址

Intent.EXTRA_CC:复制地址,如果有的话

Intent.EXTRA_BCC:密件抄送地址(ES),如果有的话

Intent.EXTRA_TEXT:电子邮件

的身体

请注意,如果你使用EXTRA_TEXT,你应该设置,MIME类型为text/plain的。如果您想发送其他内容类型,则应该使用EXTRA_STREAM,并以此方式提供数据。

相关问题