Windows Phone 8.1 新特性 - 常用的启动器
本篇为大家介绍一下 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 新特性 - 常用的启动器的更多相关文章
- Windows Phone 8.1新特性 - 应用商店启动协议
Windows Phone 8.1 Preview SDK 发布也有几个月了,之前断断续续也写过几篇 Windows Phone 8.1 新特性的文章,今天给大家介绍一下应用商店启动协议相关的知识. ...
- Windows Phone 8.1 新特性 - 控件之列表选择控件
本篇我们来介绍Windows Phone 8.1 新特性中的列表选择控件. 在Windows Phone 8 时代,大家都会使用 LongListSelector 来实现列表选择控件,对数据进行分组显 ...
- 微软架构师解读Windows Server 2008 R2新特性
目前众多企业都开始为自己寻找一个更加适合自身发展的服务器操作平台.微软的Windows Server 2008 R2就是可以为大家解决服务器平台问题.微软最新的服务器平台Windows Server ...
- Windows Phone 8.1 新特性 - 控件之应用程序栏
2014年4月3日的微软Build 2014 大会上,Windows Phone 8.1 正式发布.相较于Windows Phone 8,不论从用户还是开发者的角度,都产生了很大的变化.接下来我们会用 ...
- Windows Phone 8.1SDK新特性预览
前言 Windows Phone 8.1的预览版将在近期推送,WP 8.1的SDK也已经进入到RC阶段,可以从这里安装.本次更新的SDK被直接集成到了VS2013Update2里面,不再是单独的 ...
- Windows Embedded Compact 7新特性
Windows® Embedded Compact 7是Windows Embedded CE的下一代产品,而Windows Embedded CE这款操作系统面向占用资源少的新颖设备.Windows ...
- Windows Phone8.1系统新特性
Windows Phone 8.1 beta SDK已经为大家透露了不少WP8.1系统的新特性,不过这些新特性还不能保证在最终的消费者版本中都有所体现,毕竟它还仅是SDK版本.日前,国外媒体WPCen ...
- windows phone 8的新特性
<1>硬件的升级WP8在硬件上有了极大的提升,处理器支持双核或多核 理论最大支持64核,分辨率支持800x480.1280x720/768,屏幕支持720p或WXGA:支持存储卡扩展.同时 ...
- Windows Phone 8.1 新特性 - 控件之FlipView
本篇为大家介绍 Windows Phone 8.1 中新增的 FlipView 控件,它的中文名字叫做:翻转视图. 虽然听起来有点拗口,但是它的用途大家一定不会陌生.在 Windows Phone 8 ...
随机推荐
- 北邮oj 题
题目描述 Every year,prince prepares a birthday gift for princess.The gift is a box,which is decorated wi ...
- [转]hp电脑重装win7 64位 后 所有软件都装不上问题
hp 电脑重装后 所有软件都装不上问题 装了近100来次机,第一次遇到这样的. bug描述: 新笔记本刚装了纯净版的64位旗舰版win7,想装软件,就弹出已停止工作.比如装火狐浏览器,弹出火狐浏览器网 ...
- 纯js异步无刷新请求(只支持IE)
纯js异步无刷新请求 下载地址:http://pan.baidu.com/s/1slakL1F 所以因为非IE浏览器都禁止跨域请求,所以以只支持IE. <HTML> <!-- 乱码( ...
- logback logback.xml常用配置详解(三) <filter>
<filter>: 过滤器,执行一个过滤器会有返回个枚举值,即DENY,NEUTRAL,ACCEPT其中之一.返回DENY,日志将立即被抛弃不再经过其他过滤器:返回NEUTRAL,有序列表 ...
- 如何用Unity制作自定义字体——Custom Font
一.效果图 二.步骤 将美术做好的字体分块导入BMFont,使用BMFont工具生成艺术字库: 将上面的数据导入unity资源目录下:*.fnt文件中记录每个文字的状态信息: 导入*.png图片并设置 ...
- 如何取消MSSQL自带智能提示步骤,使用第三方智能提示插件
步骤1如下: [工具]——[选项]——[文本编辑器]——[Transact-SQL]——[IntelliSense]——[Transact-SQL IntelliSense 设置]——(取消选择)—— ...
- generator class 的含义
native有天生的,本土的,也就是说生来就有的, 那也就是说自动生成,不需要人工来帮忙或者管控的. 而assigned是指指定的,分配的, 如果你不赋予他甚麼东西,那麼他是不能实现的. 需要人工,自 ...
- python学习之——django环境搭建
Django是一个基于MVC构造的框架,用于web开发,主要目的是简便.快速的开发数据库驱动的网站. 前提:已经安装python 搭建步骤: 1.https://www.djangoproject.c ...
- jQuery系列之操作select标签
每次看完东西基本就忘了,现在决定写一下博客来记录,不知道效果咋样. 一.jQuery操作选择器 1.基本选择器 关于基本选择器,我就不用太多说了,包括了ID.类.标签等选择器. 2.层次选择器 我觉得 ...
- Docker学习<一>--初体验Windows环境下安装
背景 今天想试用spring boot与jwt协议的实现,配套就需要使用redis,但redis似乎windows环境版本部署起来不是那么舒心,果断尝试使用docker. 下载 下载地址: 稳定版:h ...