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

1. 呼叫电话

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

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

 

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("");
msg.Recipients.Add("");
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 中部分常用的启动器介绍完了,希望对大家有帮助,谢谢。

Windows Phone 8.1 新特性 - 常用的启动器的更多相关文章

  1. Windows Phone 8.1新特性 - 应用商店启动协议

    Windows Phone 8.1 Preview SDK 发布也有几个月了,之前断断续续也写过几篇 Windows Phone 8.1 新特性的文章,今天给大家介绍一下应用商店启动协议相关的知识. ...

  2. Windows Phone 8.1 新特性 - 控件之列表选择控件

    本篇我们来介绍Windows Phone 8.1 新特性中的列表选择控件. 在Windows Phone 8 时代,大家都会使用 LongListSelector 来实现列表选择控件,对数据进行分组显 ...

  3. 微软架构师解读Windows Server 2008 R2新特性

    目前众多企业都开始为自己寻找一个更加适合自身发展的服务器操作平台.微软的Windows Server 2008 R2就是可以为大家解决服务器平台问题.微软最新的服务器平台Windows Server ...

  4. Windows Phone 8.1 新特性 - 控件之应用程序栏

    2014年4月3日的微软Build 2014 大会上,Windows Phone 8.1 正式发布.相较于Windows Phone 8,不论从用户还是开发者的角度,都产生了很大的变化.接下来我们会用 ...

  5. Windows Phone 8.1SDK新特性预览

    前言    Windows Phone 8.1的预览版将在近期推送,WP 8.1的SDK也已经进入到RC阶段,可以从这里安装.本次更新的SDK被直接集成到了VS2013Update2里面,不再是单独的 ...

  6. Windows Embedded Compact 7新特性

    Windows® Embedded Compact 7是Windows Embedded CE的下一代产品,而Windows Embedded CE这款操作系统面向占用资源少的新颖设备.Windows ...

  7. Windows Phone8.1系统新特性

    Windows Phone 8.1 beta SDK已经为大家透露了不少WP8.1系统的新特性,不过这些新特性还不能保证在最终的消费者版本中都有所体现,毕竟它还仅是SDK版本.日前,国外媒体WPCen ...

  8. windows phone 8的新特性

    <1>硬件的升级WP8在硬件上有了极大的提升,处理器支持双核或多核 理论最大支持64核,分辨率支持800x480.1280x720/768,屏幕支持720p或WXGA:支持存储卡扩展.同时 ...

  9. Windows Phone 8.1 新特性 - 控件之FlipView

    本篇为大家介绍 Windows Phone 8.1 中新增的 FlipView 控件,它的中文名字叫做:翻转视图. 虽然听起来有点拗口,但是它的用途大家一定不会陌生.在 Windows Phone 8 ...

随机推荐

  1. iOS中UITableView使用总结

    链接:http://www.open-open.com/lib/view/open1430008922468.html

  2. jquery blockui 遮罩

    参考 : http://bookshadow.com/weblog/2014/09/26/jquery-blockui-js-introduction/ blockUI.html blockUI.ht ...

  3. 一个简单xml数据转换为数组的方法

    本人用easywechat做微信回复图文,从数据库中拿到的数据直接是xml拼好的数据,但是框架只有自带的获取xml格式的语句,所有需要将xml数据中所需要的数据拿出来用来拼接. 搜了好多资料说的都很麻 ...

  4. iOS 9/10强制使用https访问网络,使用了第三方SDK的应用需要配置的信息

    2017年01月01日起苹果将全面禁止使用http来访问网络. 网上扒了一些资源,解决方法还是有的,但是都不确定是否可以通过审核,毕竟实践才是检验真理的唯一标准. 后续如果上线成功,再来分享. 如果应 ...

  5. iOS10 的适配问题,你遇到了吗?导航栏标题和返回按钮神奇的消失了

    苹果系统升级后好多应用都发了新版本来适配,今天就来分享一下我的适配历程. 首先是出现的问题: 1.push一个控制器,返回按钮和标题神奇的消失了,打开三维视图(比较坑的是有的版本老到打不开三维视图 ) ...

  6. System.StackOverflowException的一个例子(转)

    今天按着书上的例子写呀写,写了一下午终于做出了一个三层模式的通讯录(当然很简单),但是,弄了最后却碰到个运行时的 异常,弄得我这个asp.net菜鸟郁闷了再郁闷.异常如下:发生类型为 System.S ...

  7. Linux cp命令使用说明

    Linux cp命令使用说明 --功能说明:复制目录或文件 --命令格式:cp  [参数]  <文件或目录>  <文件或目录> --常用参数: -R 复制目录 -i 覆盖文件之 ...

  8. Spring事务管理(转)

    1 初步理解 理解事务之前,先讲一个你日常生活中最常干的事:取钱. 比如你去ATM机取1000块钱,大体有两个步骤:首先输入密码金额,银行卡扣掉1000元钱:然后ATM出1000元钱.这两个步骤必须是 ...

  9. js+html+jquery 个人笔记

    js+html+jquery 笔记 1.获取HTML对象 var obj = document.getElementById(elementId) 对象的值: obj.value() 2.获取jQue ...

  10. ASI 与 AFN

    HTTP终结者.功能十分强大. 基于底层的CFNetwork框架,运行效率很高. 可惜