在我的应用程序中,出于调试目的和测试目的,我需要发送电子邮件。
当发送邮件控制器的类不包含PresentViewController
的定义时,如何呈现邮件控制器?在用户从触发的警报中单击“是”后,该类需要触发电子邮件应用程序。
public async Task<bool> SendEmail(Exception ex)
{
var result = await SendNotificationToRequestSendingEmail();
if (result)
{
if (MFMailComposeViewController.CanSendMail)
{
mailController = new MFMailComposeViewController();
mailController.SetToRecipients(new string[] { "test@one.com", "test@two.com" });
mailController.SetSubject("Details");
mailController.SetMessageBody($"Message: {ex.Message}" +
$"Exception: {ex.ToString()}"
, false);
mailController.Finished += (object s, MFComposeResultEventArgs args) =>
{
Console.WriteLine(args.Result.ToString());
args.Controller.DismissViewController(true, null);
};
this.PresentViewController(mailController, true, null); //this line causes the error
}
}
return true;
}
如何解决此问题或绕过它?这是从Xamarin Forms页面调用的。