C# 打开邮件应用程序而不创建电子邮件草稿

C# 打开邮件应用程序而不创建电子邮件草稿,c#,xamarin.forms,C#,Xamarin.forms,我有一个应用程序,需要提示用户打开刚刚发送给他们的电子邮件。这将是一个伟大的功能,如果它自动打开电子邮件应用程序为他们 我目前拥有打开电子邮件应用程序并创建新电子邮件草稿的代码: Device.OpenUri(new Uri("mailto://")); 我需要在不打开新电子邮件的情况下运行此应用程序,只需将它们带到其默认的邮件应用程序。如果没有所有系统都能理解的mailto://URI,以纯粹的跨平台方式执行此操作是不可能的。如果您只想打开邮件客户端,那么必须检查您的目标操作系统是否支持此类

我有一个应用程序,需要提示用户打开刚刚发送给他们的电子邮件。这将是一个伟大的功能,如果它自动打开电子邮件应用程序为他们

我目前拥有打开电子邮件应用程序并创建新电子邮件草稿的代码:

Device.OpenUri(new Uri("mailto://"));

我需要在不打开新电子邮件的情况下运行此应用程序,只需将它们带到其默认的邮件应用程序。

如果没有所有系统都能理解的
mailto://
URI,以纯粹的跨平台方式执行此操作是不可能的。如果您只想打开邮件客户端,那么必须检查您的目标操作系统是否支持此类intent/URI,并以特定于平台的方式打开它

更新:我找到了针对Android和iOS平台的解决方案

Android

var intent = PackageManager.GetLaunchIntentForPackage("com.android.email");
StartActivity(intent);
iOS

UIApplication.SharedApplication.OpenUrl("message://");
UWP


对于UWP
mailto:
似乎是正确的选择。不幸的是,根据我的测试,它确实尝试使用内置的Outlook mail应用程序创建新的电子邮件。我会将此作为一个问题报告。

在iOS上,通过这样做,可以在Swift中实现: