android – 其他电子邮件意图 – 首选项XML

我想从我的xml首选项屏幕触发一个电子邮件,并附加一个预定义的主题,并在电子邮件应用程序的“主体”字段中启动光标

这是我到目前为止

<Preference
    android:title="Support"
    android:summary="Having a problem?">

    <intent
      android:action="android.intent.action.VIEW"
      android:data="mailto:support@xxxxx.com"
      />

  </Preference>

非常适合触发电子邮件的意图,但是我将如何通过xml完成​​他人的工作?附加主题和所有?

解决方法

您可以同时使用mailto查询参数,如jondavidjohn所说,还可以使用意向附加功能,您可以混合使用它们.例如:
<intent
  android:action="android.intent.action.VIEW"
  android:data="mailto:xxxxx@xxxxxxx.com?subject=this is a test subject">
  <extra android:name="android.intent.extra.TEXT" android:value="This is a test" />
</intent>

…将允许您设置电子邮件的正文以及主题.您还可以将主题指定为额外的.这样可以使用XML字符串资源而不是硬编码:

<extra android:name="android.intent.extra.SUBJECT" android:value="@string/email_subject" />

我只是从Intent.java中获取了Intent的额外的名字;电子邮件相关的都在一起.

我只是发现了这个并没有做太多的测试,但这似乎与我的GMail邮件客户端一起工作.

此外,如果有任何帮助,我确实有成功使用mailto:URI的“body”,例如

mailto:example@example.com?subject=This%20is%20a%20subject&body=This%20is%20a%20body

不知道是否有帮助我对我的mailto URL进行了URL编码;我只是通过强制的习惯,从网络背景来做.但是,这绝对可以在GMail和K9 Mail应用程序中设置一个主体.

相关文章

Android 如何解决dialog弹出时无法捕捉Activity的back事件 在...
Android实现自定义带文字和图片的Button 在Android开发中经常...
Android 关于长按back键退出应用程序的实现最近在做一个Andr...
android自带的时间选择器只能精确到分,但是对于某些应用要求...