发送电子邮件意图

发送电子邮件意图

Intent intent = new Intent(Intent.ACTION_SEND);intent.setType("text/html");
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"));

上面的代码打开一个对话框,显示以下应用:蓝牙、谷歌文档、雅虎邮件、Gmail、Orkut、Skype等。

实际上,我想过滤这些列表选项。我只想显示电子邮件相关的应用,如Gmail,雅虎邮件。怎么做?

我在“Android市场”应用程序上看到了这样的例子。

  1. 开放Android市场应用程序
  2. 打开开发人员指定其电子邮件地址的任何应用程序。(如果你找不到这样的应用程序,只需打开我的应用程序:-market://details?id=com.becomputer06.vehicle.diary.free,或按“车辆日记”搜索)
  3. 向下滚动到“Developer”
  4. 点击“发送电子邮件”

对话框只显示电子邮件应用程序,如Gmail、雅虎邮件等。它不显示蓝牙、Orkut等。是什么代码产生这样的对话框?


烙印99
浏览 929回答 3
3回答

叮当猫咪

当你改变你的意图.setType像下面一样,你会得到intent.setType("text/plain");使用android.content.Intent.ACTION_SENDTO只获取没有facebook或其他应用程序的电子邮件客户列表。只有电子邮件客户。例:new Intent(Intent.ACTION_SENDTO);我不建议你直接进入电子邮件应用程序。让用户选择自己最喜欢的电子邮件应用程序。别约束他。如果使用action_SENDTO,则putExtra无法将主题和文本添加到意图中。使用URI添加主题和正文文本。编辑:我们可以用message/rfc822而不是"text/plain"就像哑剧一样。然而,这并不表示“只提供电子邮件客户端”-它表示“提供任何支持Message/rfc 822数据的内容”。这可以很容易地包括一些应用程序,而不是电子邮件客户端。message/rfc822支持MIME类型的.mhtml, .mht, .mime

长风秋雁

有三种主要方法:String email = /* Your email address here */String subject = /* Your subject here */String body = /* Your body here */String chooserTitle  = /* Your chooser title here */1.习惯Uri:Uri uri = Uri.parse("mailto:" + email)     .buildUpon()     .appendQueryParameter("subject", subject)     .appendQueryParameter("body", body)     .build();Intent emailIntent = new Intent(Intent.ACTION_SENDTO, uri);startActivity(Intent.createChooser(emailIntent, chooserTitle));2.使用Intent临时演员:Intent emailIntent = new Intent(Intent.ACTION_SENDTO, Uri.parse("mailto:" + email));emailIntent.putExtra(Intent.EXTRA_SUBJECT, subject); emailIntent.putExtra(Intent.EXTRA_TEXT, body);//emailIntent.putExtra(Intent.EXTRA_HTML_TEXT, body);  //If you are using HTML in your body textstartActivity(Intent.createChooser(emailIntent, "Chooser Title"));3.支助图书馆ShareCompat:Activity activity = /* Your activity here */ShareCompat.IntentBuilder.from(activity)     .setType("message/rfc822")     .addEmailTo(email)     .setSubject(subject)     .setText(body)     //.setHtmlText(body) //If you are using HTML in your body text     .setChooserTitle(chooserTitle)     .startChooser();
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Android