Xamarin Forms - 如何使单击电子邮件链接的用户在设备中打开电子邮件应用程序

Posted

技术标签:

【中文标题】Xamarin Forms - 如何使单击电子邮件链接的用户在设备中打开电子邮件应用程序【英文标题】:Xamarin Forms - How to make it so that a user that clicks on a email link will open the email app in the device 【发布时间】:2021-12-29 19:04:38 【问题描述】:

我想这样当我在 Xamarin Forms 中单击(电子邮件链接)和(电话号码)时, 在用户设备上启动(电子邮件应用程序)和(电话应用程序)。

Xaml

<Label HorizontalTextAlignment="Start"
       Style="StaticResource DescriptionLabelStyle">
       <Label.FormattedText>
             <FormattedString>
                   <Span Text="x:Static resources:Lang.AccessibilityRepDesc" />
                         <Span Text="goteborg@goteborg.se" 
                               TextColor="DynamicResource HyperLink">
                                    <Span.GestureRecognizers>
                                        <TapGestureRecognizer Command="Binding EmailCommand" />
                                        </Span.GestureRecognizers>
                                    </Span>

                                    <Span Text="helpers:Translate OrCall" />

                                    <Span Text="031-3650000" 
                                          TextColor="DynamicResource HyperLink">
                                        <Span.GestureRecognizers>
                                            <TapGestureRecognizer Command="Binding PhoneCommand"/>
                                        </Span.GestureRecognizers>
                                    </Span>
                                </FormattedString>
                            </Label.FormattedText>
                        </Label>

代码背后

private void EmailClicked(object obj)

     Console.WriteLine("Sending Email");


private void PhoneClicked(object obj)

     Console.WriteLine("Making a phonecall");

【问题讨论】:

检查 Xamarin.Essentials、email 和 phone call 这能回答你的问题吗? Xamarin.Forms how open default email client on device? 通过您发送给我的链接,我能够修复“电子邮件”按钮。我仍在尝试解决电话按钮问题 当我根据文档 PhoneDialer.Open(phoneNumber); 使用此代码时 - 我收到错误消息 Exception while opening dialer: Specified method is not supported. 【参考方案1】:

我可以通过闲置this post来修复它

在 Nuget 上使用 (Xam.Plugins.Messaging) 非常容易修复。 我已经在 android 上测试过,我还没有在 ios 上测试过。

【讨论】:

【参考方案2】:

您可能正在寻找 Xamarin Essentials 之类的东西。它有很多好的 API。有一个E-mail API,你可以阅读它in these Docs

【讨论】:

以上是关于Xamarin Forms - 如何使单击电子邮件链接的用户在设备中打开电子邮件应用程序的主要内容,如果未能解决你的问题,请参考以下文章

Xamarin.Forms 如何使按钮出现在一行中

如何在单击 xamarin.forms.maps iOS c# 时更改 pin 图标

如何使Xamarin Forms App自动更新?

我们如何处理 Xamarin Forms Picker 的完成按钮单击事件?

即使在 Xamarin Forms 中滚动页面的最右侧或最下方,如何使轴/索引始终可见?

Xamarin.Forms 第23局:手势识别