我想从我的xml首选项屏幕触发一个电子邮件,并附加一个预定义的主题,并在电子邮件应用程序的“主体”字段中启动光标
这是我到目前为止
<Preference android:title="Support" android:summary="Having a problem?"> <intent android:action="android.intent.action.VIEW" android:data="mailto:support@xxxxx.com" /> </Preference>
解决方法
您可以同时使用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应用程序中设置一个主体.