通过应用程序发送电子邮件会导致崩溃

时间:2015-02-13 14:27:49

标签: c# email windows-phone-8.1

我正在使用ShowComposeNewEmailAsync()

        EmailRecipient sendTo = new EmailRecipient()
            {
                Address = "example@example.com"
            };
        //generate mail object
        EmailMessage mail = new EmailMessage();
        mail.Subject = subject.Text;
        mail.Body = body.Text;

        //add recipients to the mail object
        mail.To.Add(sendTo);

        //open the share contract with Mail only:
        await EmailManager.ShowComposeNewEmailAsync(mail);

当我有超过1个应用程序(我在电子邮件+帐户中登录了多个Google Mail帐户ID,即Google Mail,Google Mail 2,Google Mail 3)时,应用程序在手机中崩溃,或者没有设置电子邮件设置中的电子邮件+帐户。

当我调用此功能并拥有多个帐户时,应用程序选择器会显示2或3秒(在列表中显示Google Mail,Google Mail 2,Google Mail 3)然后消失,然后我才会选择关闭应用程序以及它。

如果没有可用的帐户,则会显示一条消息,指出没有安装任何应用程序以共享1-2秒,然后它会随之关闭应用程序。

如何防止这种情况发生?

1 个答案:

答案 0 :(得分:0)

您可以尝试使用简单的值吗?这对我来说很好,我的手机上有几个电子邮件帐户:

var msg = new EmailMessage();
msg.Subject = "Hello this is a test";
msg.Body = "Testing 123";
msg.To.Add(new EmailRecipient("address@somewhere.com"));
await EmailManager.ShowComposeNewEmailAsync(msg);

您是否将代码包装在try / catch中以防异常调用期间丢失异常?