专栏首页Windows CommunityWindows Phone 8.1 新特性 - 常用的启动器

Windows Phone 8.1 新特性 - 常用的启动器

本篇为大家介绍一下 Windows Phone 8.1 中部分常用启动器的实现方式。分别是 呼叫电话、发送短信、发送邮件、添加约会到日历、启动地图、地图路线显示、地图下载 和 地图更新。

1. 呼叫电话

我们使用 PhoneCallManager 的 ShowPhoneCallUI 方法来实现呼叫电话。该方法的两个参数分别是 电话号码 和 显示名称。

Windows.ApplicationModel.Calls.PhoneCallManager.ShowPhoneCallUI("10086", "中国移动");

2. 发送短信

我们使用 ChatMessageManager 的 ShowComposeSmsMessageAsync 方法来实现发送短信。该方法接收的参数为一个 ChatMessage 对象,其中重要的属性是 Body (信息内容)和 Recipients (发送到的电话号码集合)。

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

3. 发送邮件

我们使用 EmailManager 的 ShowComposeNewEmailAsync 方法来实现发送短信。该方法接收的参数为一个 EmailMessage 对象,其中有几个重要的属性:

  • To : 收件人列表
  • Bcc:Bcc列表
  • CC :CC列表
  • Subject:邮件主题
  • Body:邮件正文
  • Attachments:附件列表
    var file = await getAttachment();
    Windows.ApplicationModel.Email.EmailAttachment emailAttachment = new Windows.ApplicationModel.Email.EmailAttachment(file.Name, file);
    Windows.ApplicationModel.Email.EmailMessage mail = new Windows.ApplicationModel.Email.EmailMessage();
    mail.Attachments.Add(emailAttachment);
    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);

其中 getAttachment 方法如下:

    private async Task<StorageFile> getAttachment()
    {
        var folder = Windows.Storage.ApplicationData.Current.LocalFolder;
        var subfolder = await folder.CreateFolderAsync("MyFolder", Windows.Storage.CreationCollisionOption.OpenIfExists);
        var file = await subfolder.CreateFileAsync("MyAttachment.txt", Windows.Storage.CreationCollisionOption.ReplaceExisting);
        await Windows.Storage.FileIO.WriteTextAsync(file, "Hello World!");

        return file;
    }

4. 添加约会到日历

我们使用 AppointmentManager 的 ShowAddAppointmentAsync 方法来向日历添加我们定义的约会,同时可以对现有约会进行管理。该方法接收参数为 Appointment 对象。有几个重要的属性:

  • Subject - 约会的主题
  • Location - 约会的位置
  • Details - 约会的详细内容
  • Duration - 约会持续的时间
  • StartTime - 约会开始的时间
  • AllDay - 是否持续整天

另外还有很多可设置属性,不再一一例举,大家可以自行研究。来看看代码实现:

    Windows.ApplicationModel.Appointments.Appointment appointment = new Windows.ApplicationModel.Appointments.Appointment();
    appointment.AllDay = false;
    appointment.Details = "Appointment's Detail";
    appointment.Duration = TimeSpan.FromHours(2.0);
    appointment.Location = "Demo Location";
    appointment.StartTime = DateTime.Now;
    appointment.Subject = "Demo Subject";
    await Windows.ApplicationModel.Appointments.AppointmentManager.ShowAddAppointmentAsync(appointment, new Rect());

我们新建了一个现在开始,持续两小时的约会。来看看运行效果:

5. 启动地图

我们使用 Windows.System.Launcher 的 LaunchUriAsync 来启动必应地图的 Uri,Uri 的格式是 bingmaps:uri scheme。具体的uri scheme,请参照:URI Scheme for maps application 。

   await Windows.System.Launcher.LaunchUriAsync(new Uri("bingmaps:?lvl=10&where=Beijings", UriKind.Absolute));

如上代码中,我们启动必应地图,在级别为10的情况下显示搜索的结果,也就是Beijing。来看运行结果:

6. 地图路线显示

我们同样使用 Windows.System.Launcher 的 LaunchUriAsync 来启动必应地图的 Uri 以显示路线规划,具体格式同样可参照:URI Scheme for maps application

   await Windows.System.Launcher.LaunchUriAsync(new Uri("bingmaps:?rtp=adr.Beijing~adr.Tianjin", UriKind.Absolute));

这是我们要显示Beijing 到 Tianjin 的路线,来看看运行结果:

7. 地图下载

我们使用 MapManager 的 ShowDownloadedMapsUI 方法来启动地图下载界面。

    Windows.Services.Maps.MapManager.ShowDownloadedMapsUI();

8. 地图更新 

我们使用 MapManager 的 ShowMapsUpdateUI 方法来启动地图更新界面。

    Windows.Services.Maps.MapManager.ShowMapsUpdateUI();

好了,到这里我们就把Windows Phone 8.1 中部分常用的启动器介绍完了,希望对大家有帮助,谢谢。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Windows Developer Day Review

    北京时间 3 月 8 日凌晨 1 点钟,今年的第一次 Windows Developer Day 正式召开。 ? ? 因为时间太晚看不了直播,我也是第二天早上在...

    Shao Meng
  • Windows Developer Day - Windows AI Platform

    本次 Windows Developer Day,最值得期待的莫过于 Windows AI Platform 了,可以说是千呼万唤始出来。观看直播的开发者们,留...

    Shao Meng
  • Windows Phone 8.1新特性 - 应用商店启动协议

    Windows Phone 8.1 Preview SDK 发布也有几个月了,之前断断续续也写过几篇 Windows Phone 8.1 新特性的文章,今天给大...

    Shao Meng
  • Windows 10文件系统错误-2147219196亲测有效的解决办法

    说实话,Windows 10 的自动更新的确是存在一定风险,有可能将有bug的新补丁直接给推送了。所以还是建议大家,不要在微软一发布补丁就给更新上,可以尝试等待...

    沈唁
  • 【突发新闻】“血雨腥风”将至?方程式组织黑客工具包再曝光,大量针对Windows系统严重0day泄露

    上周末,Shadow Brokers公布了一批美国国家安全局所使用的黑客工具,而这周我们又迎来了Shadow Brokers的“每周武器推送”,新公布的文件能够...

    FB客服
  • windows网络工具/方案集锦

    我爱你的一诺
  • 微软安全公告—2016年5月

    微软于北京时间2016年5月10日发布了16个新的安全公告,其中8个为严重等级,8个为重要等级。本次更新主要修复Windows、Internet...

    嘉为科技
  • IN2Windows 8 (Part 3

    在继续介绍 Windows 8 系统的功能以及易用性之前,我想在这个系列文章的第三篇,也就是本文中,向大家介绍 Windows 8 确定后的 SKU 版本。

    py3study
  • 微软安全公告—2016年9月

    微软于北京时间2016年9月13日发布了14个新的安全公告,其中7个为严重等级,7个为重要等级。本次更新主要修复Windows、Internet Explore...

    嘉为科技
  • Windows 7 时代即将终结!

    2009 年诞生的 Windows 7 终究没能超过 Windows XP 13 岁的寿命。

    Rookie

扫码关注云+社区

领取腾讯云代金券