WP 8.1运行时代码,用于拨打电话、发送短信和发送电子邮件(不是Silverlight 8.1)

16
我正在编写一个应用程序,就像 WP 8.1 中的 People 应用程序一样,可以拨打电话、发送短信或电子邮件。 到目前为止,我发现了一个来自 MSDN 的链接,它说:“适用于:Windows Phone 8 和 Windows Phone Silverlight 8.1”。 所以这里是代码:从这个链接中
using Microsoft.Phone.Tasks;

private void TextBlock_Tapped_Call(object sender, TappedRoutedEventArgs e)
{
    PhoneCallTask phoneCallTask = new PhoneCallTask();
    phoneCallTask.PhoneNumber = "2065550123";
    phoneCallTask.DisplayName = "Gage";

    phoneCallTask.Show();
}

但是我遇到了一个错误:

'Microsoft'命名空间中不存在'Phone'类型或命名空间(是否缺少程序集引用?)

编辑:抱歉重复提问,这里有相同的问题:在Windows Phone 8.1中拨打电话 ,@Chris Shao给出了答案,并更新了代码以发送短信和邮件。


你有Microsoft.Phone.dll的引用吗? - Brian Rasmussen
非常感谢您的回复,我不是很明白,但我已经打开了参考管理器,选中了Windows Phone 8.1选项卡。它显示“Windows Phone 8.1 SDK已被引用”。那我是正确操作了吗?还是需要如何进行引用? - truongnm
1个回答

36

如果你想要使用 Microsoft.Phone.Tasks,你必须创建 Windows Phone Silverlight 8.1 项目。如果你的项目是 Windows Phone 8.1

你可以使用以下代码进行电话呼叫:

Windows.ApplicationModel.Calls.PhoneCallManager.ShowPhoneCallUI("phone number", "display name");

并使用此来发送短信:

Windows.ApplicationModel.Chat.ChatMessage msg = new Windows.ApplicationModel.Chat.ChatMessage();
msg.Body = "This is body of demo message.";
msg.Recipients.Add("10086");
msg.Recipients.Add("10010");
await Windows.ApplicationModel.Chat.ChatMessageManager.ShowComposeSmsMessageAsync(msg);

使用此功能发送邮件:

Windows.ApplicationModel.Email.EmailMessage mail = new Windows.ApplicationModel.Email.EmailMessage();
mail.Subject = "This is Subject";
mail.Body = "This is body of demo mail";
mail.To.Add(new Windows.ApplicationModel.Email.EmailRecipient("shaom_wp@hotmail.com", "shaomeng"));
await Windows.ApplicationModel.Email.EmailManager.ShowComposeNewEmailAsync(mail);

非常感谢@Chris,关于Windows Phone 8.1中的短信任务(不是Silverlight),有什么建议吗?提前致谢。 - truongnm
@Truong N,我已经更新了我的答案。请阅读并投票支持答案。谢谢! - Chris Shao
1
是的,发送电子邮件位于Windows.ApplicationModel.Email中。 - Chris Shao
1
嗨,我已更新我的答案。添加了发送邮件功能。请阅读它。 - Chris Shao
1
你可以在你的设备上进行调试,因为模拟器上有电子邮件帐户。 - Chris Shao
显示剩余5条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接