Search code examples
c#windows-phone-8.1windows-phonesmsphone-call

WP 8.1 Runtime code to make phone call, send SMS & send Email (not the Silverlight 8.1)


I'm writing an app which will make a phone call, send sms or email just like the People app in wp 8.1 . So far I've found a link form msdn which said "Applies to: Windows Phone 8 and Windows Phone Silverlight 8.1". So here the code:from this link

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();
}

But I got an error:

The type or namespace name 'Phone' does not exist in the namespace 'Microsoft' (are you missing an assembly reference?)

Edit: Sorry for a duplicate question, same here: Make a phone call in Windows Phone 8.1 Answer by @Chris Shao, he also updated code to send SMS and Email.


Solution

  • If you want to use Microsoft.Phone.Tasks, you must create Windows Phone Silverlight 8.1 project. And if your project is Windows Phone 8.1,

    you can use this code to phone call:

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

    and use this to send sms:

    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);
    

    and use this to send mail:

    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("[email protected]", "shaomeng"));
    await Windows.ApplicationModel.Email.EmailManager.ShowComposeNewEmailAsync(mail);