我有一个应用程序,需要提示用户打开刚刚发送给他们的电子邮件。如果它自动为他们打开电子邮件应用程序,那将是一个很棒的功能。
我目前有以下代码可以打开电子邮件应用并创建新的电子邮件草稿:
Device.OpenUri(new Uri("mailto://"));
我需要运行此程序而无需打开新电子邮件,只需将它们带到默认邮件应用即可。
答案 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应用程序创建新的电子邮件。我将报告为问题。