【问题标题】:Messaging and email intents in Android?Android中的消息传递和电子邮件意图?
【发布时间】:2010-08-10 21:14:11
【问题描述】:

我已经在 Google 上搜索过这个,但只找到了类似的例子——不完全是我需要的。我只需要从我的应用程序开始发送消息 (SMS) 和电子邮件意图,并且它们的“收件人”字段已经填充。所以我需要发送一个带有短信意图的号码和一个带有电子邮件意图的电子邮件地址。任何帮助将不胜感激。

【问题讨论】:

    标签: android email sms android-intent


    【解决方案1】:

    对于电子邮件部分:

    Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND);
    
    emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL, new String[] {"foo@bar.com"});
    
    emailIntent.setType("text/plain");
    startActivity(Intent.createChooser(emailIntent, "Send a mail ..."));
    

    【讨论】:

    • 您还可以查看 Intent.EXTRA_SUBJECT 和 Intent.EXTRA_TEXT 来填写电子邮件
    • 感谢您的帮助。不过我注意到一件事——在执行 SMS 意图时,不应该使用 setType(),因为它会使应用选择器说没有应用可以执行该操作。
    • 是的,setType 用于知道您是否要通过 E-mail、facebook、twitter 等发送...
    • 澄清:接收者查看 setType() 值,如果他们决定他们可以处理指定的类型,他们将在选择器对话框中显示自己。例如,在我的设备上 setType("text/html") 会阻止 SMS 应用程序成为一个选项,但 setType("text/plain") 不会。
    【解决方案2】:

    来自Only Email apps to resolve an Intent

       String recepientEmail = ""; // either set to destination email or leave empty
       Intent intent = new Intent(Intent.ACTION_SENDTO);
       intent.setData(Uri.parse("mailto:" + recepientEmail));
       startActivity(intent);
    

    将过滤掉所有非电子邮件应用程序。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-06
      • 1970-01-01
      • 2019-02-28
      • 2014-04-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多