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

时间:2019-02-05 14:13:59

标签: c# xamarin.forms

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

我目前有以下代码可以打开电子邮件应用并创建新的电子邮件草稿:

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

我需要运行此程序而无需打开新电子邮件,只需将它们带到默认邮件应用即可。

1 个答案:

答案 0 :(得分:5)

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

更新:我发现了适用于Android和iOS的特定于平台的解决方案。

Android

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

iOS

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

UWP

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