在Xamarin.Forms中,如果你想通过点击带有链接的标签来打开设备的默认浏览器,很简单:
private void WebUrl_TapGestureRecognizer_Tapped(object sender, EventArgs e)
{
var label = sender as Label;
string url = "http://" + label.Text;
Device.OpenUri(new Uri(url));
}
有没有类似的简单方法,可以打开设备的默认电子邮件客户端与一个开放的新消息与电子邮件地址?
private void EmailClient_TapGestureRecognizer_Tapped(object sender, EventArgs e)
{
var label = sender as Label;
// what goes here?
}
谢谢大家。
4条答案
按热度按时间92dk7w1h1#
尝试:
希望这个有用。-
0lvr5msh2#
我实际上使用了一个依赖服务,这样我就可以更好地控制我可以发送到邮件客户端的内容。
首先,我创建了一个由依赖项服务IEmailService使用的接口。
我的Android依赖服务看起来像这样:
对于iOS:
然后我可以在代码中调用它:
这将在每个平台上打开邮件客户端,并可选择填充收件人、主题和正文字段。
希望能有所帮助。
piztneat3#
您可以使用
Xamarin.Essentials
中存在的Launcher.OpenAsync(uri)
。OpenUri自version 4.3.0.
uri = $"mailto:{address}?subject={emailSubject}&body={body content}";
起已过时axkjgtzd4#
设备.URI现在贬值-使用这个代替。
public String s($“String s”);
适用于iOS和Android