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

Mat*_*ard 2 c# xamarin.forms

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

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

Device.OpenUri(new Uri("mailto://"));
Run Code Online (Sandbox Code Playgroud)

我需要在没有打开新电子邮件的情况下运行它,只需将它们带到他们的默认邮件应用程序.

Mar*_*und 5

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

更新:我找到了适用于Android和iOS的平台特定解决方案.

Android的

var intent = PackageManager.GetLaunchIntentForPackage("com.android.email");
StartActivity(intent);
Run Code Online (Sandbox Code Playgroud)

iOS版

UIApplication.SharedApplication.OpenUrl("message://");
Run Code Online (Sandbox Code Playgroud)

UWP

mailto:根据Docs,如果UWP 似乎是正确的选择.不幸的是,在我的测试中,它确实尝试使用内置的Outlook Mail应用程序创建新的电子邮件.我会报告这个问题.