Windows Phone7的启动器包括:

EmailComposeTask、MediaPlayerLauncher、PhoneCallTask、SavePhoneNumberTask、SaveEmailAddressTask、SearchTask、SmsComposeTask、WebBrowserTask、MarketplaceDetailTask、MarketplaceHubTask、MarketpalceReviewTask、MarketplaceSearchTask

接下来分别以示例代码和讲解的形式讲述各个启动器。

1、EmailComposeTask:启动电子邮件撰写任务

示例代码:

引用命名空间:

using Microsoft.Phone.Tasks;

调用EmailComposeTask:

EmailComposeTask emailComposeTask = new EmailComposeTask();
emailComposeTask.Bcc = "test1@163.com";
emailComposeTask.Body = "testBody";
emailComposeTask.Cc = "test2@163.com";
emailComposeTask.Subject = "Test Subject";
emailComposeTask.To = "testTo@163.com";emailComposeTask.Show();

注意要点:

①在代码中不可以指定附件。

②如果手机上未设置电子邮件账户,则应用程序会提示设置一个账户。

③Bcc是私密抄送的意思,即别人不会看到你抄送给谁。

④To、Cc、Bcc属性,如果需要发送给多人的时候,也许是用分号分隔邮件地址(未曾试验),只是突然想到这个需求。在Net下的发送Mail,To属性是一个MailAddressCollection,这里的To是一个string,所以不敢肯定,试验之后才能确定。

2、MediaPlayerLauncher:启动MediaPlayer

MediaPlayerLauncher mediaPlayerLauncher = new MediaPlayerLauncher();mediaPlayerLauncher.Controls = MediaPlaybackControls.All;
mediaPlayerLauncher.Location = MediaLocationType.Install;
mediaPlayerLauncher.Media = new Uri("Assets/Videos/1.mp4", UriKind.Relative);
mediaPlayerLauncher.Orientation = MediaPlayerOrientation.Portrait;
mediaPlayerLauncher.Show();

①默认是横向播放。

②Controls属性是一个MediaPlaybackControls枚举,该属性允许对成员值按位Or组合,即MediaPlaybackControls.FastForward|MediaPlaybackControls.Pause,成员包括:All、FastForward、None、Pause、Rewind、Skip、Stop。但是在模拟器上我试验了几个,效果都是一样的,均有开始/暂停、快进、后退、全屏/正常4个按钮,本人没有实机,未在实机上测试,说到这里突然想起来,前段时间我的一个app没有经过实机测试,上架成功了,tombstone机制都没测过,可见微软所谓的一堆认证也都是扯淡,交的那99美金也只是个幌子(当然我没交,我搞了一个学生账户,具体怎么搞的,大家都懂的…………)。

③媒体文件出于性能考虑,要将Build Action属性设置为Content。

④尽管我将Orientation属性设置成了Portrait(纵向),我在虚拟机上演示的结果依然是Landscape(横向)。

⑤Location属性,是一个枚举,有三种Data、Install、None

Data:指文件保存在独立存储中,写URI路径的时候,如果是相对的,系统会自动在前面加上当前app的独立存储路径。

Install:安装目录,指XAP包内部的路径。

None:如果设置成该属性,则会泡出FileNotFoundException。

3、PhoneCallTask:拨打电话任务

            PhoneCallTask phoneCallTask = new PhoneCallTask();phoneCallTask.DisplayName = "TestDisplayName";phoneCallTask.PhoneNumber = "1506190XXXX";phoneCallTask.Show();

效果:在屏幕上方弹出一个确认框,提示“Dial TestDisplayName at 1506390XXXX?”,两个按钮,“Call”和“Don't Call”。

4、SavePhoneNumberTask:保存电话号码任务

<strong>            SavePhoneNumberTask savePhoneNumberTask = new SavePhoneNumberTask();savePhoneNumberTask.PhoneNumber = "15063903725";savePhoneNumberTask.Completed += (s, e) => {if (e.TaskResult == TaskResult.OK){MessageBox.Show(savePhoneNumberTask.PhoneNumber);}};savePhoneNumberTask.Show();</strong>

①在保存完号码之后,要触发Completed事件,应该点击Back实体键退出保存任务。

5、SaveEmailAddressTask:保存Email地址任务

            SaveEmailAddressTask saveEmailAddressTask = new SaveEmailAddressTask();saveEmailAddressTask.Email = "test@163.com";saveEmailAddressTask.Completed += (s, e) => {MessageBox.Show(saveEmailAddressTask.Email);};saveEmailAddressTask.Show();

①在保存完Email地址之后,要触发Completed事件,应该点击Back实体键退出保存任务。

6、SearchTask:搜索任务

SearchTask searchTask = new SearchTask();searchTask.SearchQuery = "Test keyword";searchTask.Show();

①搜索任务即打开浏览器,在地址栏中以设定的关键字进行搜索

7、SmsComposeTask:短信撰写任务

SmsComposeTask smsComposeTask = new SmsComposeTask();smsComposeTask.To = "1506190XXXX";
smsComposeTask.Body = "Test Message";smsComposeTask.Show();

①如果手机没有SIM卡,在短信发送失败时会收到一条toast通知。

②短信不能在代码中指定附件。

8、WebBrowserTask:浏览器任务

WebBrowserTask webBrowserTask = new WebBrowserTask();webBrowserTask.Uri = new Uri("http://www.baidu.com", UriKind.Absolute);webBrowserTask.Show();

①建议使用URI属性,而不是使用URL,URL属性已经过时。

②URI中的地址必须设定协议类型,如此处的HTTP协议,要加上“http://”,否则会报错。

9、MarketplaceDetailTask:市场详细任务,启动微软市场详细页

            MarketplaceDetailTask marketplaceDetailTask = new MarketplaceDetailTask();marketplaceDetailTask.ContentIdentifier = "b871c4cb-dee1-43e3-8ccb-a4592e8604e5";marketplaceDetailTask.ContentType = MarketplaceContentType.Applications;marketplaceDetailTask.Show();

①ContentIndentifier:要显示的应用的唯一ID,此ID可以在你的项目工程右键属性-->Assembly Information中的GUID中找到。如果不指定此属性,则默认显示调用MarketplaceDetailTask的应用程序(即当前应用)的详细页。

②ContentType:Applications或者Music

10、MarketplaceHubTask:市场中心任务

            MarketplaceHubTask marketplaceHubTask = new MarketplaceHubTask();marketplaceHubTask.ContentType = MarketplaceContentType.Applications;marketplaceHubTask.Show();

①也可以不指定内容类型,则显示所有的(包括Application和Music)的应用。

11、MarketpalceReviewTask:市场评论页任务

            MarketplaceReviewTask marketplaceReviewTask = new MarketplaceReviewTask();marketplaceReviewTask.Show();

①启动当前应用程序的评价页面。

12、MarketplaceSearchTask:市场搜索任务

            MarketplaceSearchTask marketplaceSearchTask = new MarketplaceSearchTask();marketplaceSearchTask.ContentType = MarketplaceContentType.Applications;marketplaceSearchTask.SearchTerms = "test keyword";marketplaceSearchTask.Show();

①ContentType包括Applications和Music。

②如果不指定内容类型,则根据关键字搜索整个商城。

Windows Phone 7 开发系列教程之 启动器相关推荐

  1. Windows Phone 7 开发系列教程之 初识Windows Phone 7,环境配置

    简介篇 WP7 是微软推出的一款移动OS,用于对抗IPhone.Android,BlackBerry等其他的移动OS.目前最新的版本为Windows Phone 7.5,当然这是一个面向用户的版本号, ...

  2. HTML5游戏开发系列教程5(译)

    原文地址:http://www.script-tutorials.com/html5-game-development-lesson-5/ 最终我决定准备下一篇游戏开发系列的文章,我们将继续使用can ...

  3. 树莓派开发系列教程10——树莓派spi液晶屏支持(fbtft)

        树莓派官方支持av及HDMI输出,板子上预留了一个csi接口的液晶显示屏,但是一直没有相应的模组出现.在很多应用场合我们需要一些小型的液晶屏显示一些基本的信息,所以小屏驱动很是必要. 在git ...

  4. WSL嵌入式开发系列教程 4 —— 安装VS code

    文章目录 前言 一.安装VS Code 二.安装远程开发扩展包 三.安装相关插件 四.VS Code 新建工程 五.VS Code 终端执行 Linux 命令 总结 前言 前面我们已经搭建好了交叉编译 ...

  5. WSL嵌入式开发系列教程 1 —— 安装指南

    文章目录 前言 一.WSL 是什么? 二.WSL 安装 总结 前言 我向来习惯在 windows 系统下安装 VMware 虚拟机来跑 Linux 系统,每隔一段时间,我虚拟机里的 Ubuntu 总会 ...

  6. Silverlight for Windows Phone 7开发系列(2):第一个Silverlight程序

    前言 上一篇讲述了Windows Phone 7开发环境的搭建,这篇文章讲述如何创建,部署,调试以及运行Silverlight for Windows Phone应用程序,同时介绍如何Microsof ...

  7. C#微信公众号开发系列教程三(消息体签名及加解密)

    http://www.cnblogs.com/zskbll/p/4139039.html C#微信公众号开发系列教程一(调试环境部署) C#微信公众号开发系列教程一(调试环境部署续:vs远程调试) C ...

  8. 微信小程序开发系列教程三:微信小程序的调试方法

    微信小程序开发系列教程 微信小程序开发系列一:微信小程序的申请和开发环境的搭建 微信小程序开发系列二:微信小程序的视图设计 这个教程的前两篇文章,介绍了如何用下图所示的微信开发者工具自动生成一个Hel ...

  9. C#微信公众号开发系列教程五(接收事件推送与消息排重)

    C#微信公众号开发系列教程五(接收事件推送与消息排重) 原文:C#微信公众号开发系列教程五(接收事件推送与消息排重) 微信公众号开发系列教程一(调试环境部署) 微信公众号开发系列教程一(调试环境部署续 ...

最新文章

  1. python在财务上的应用-Python用于财务工作培训
  2. win8桌面壁纸路径
  3. Vue中使用vue-video-player和videojs-flash插件实现播放rtmp视频文件流
  4. JavaScript判断页面当前浏览设备为移动端还是PC端,实现自动加载对应端页面
  5. 虚拟机Ubuntu18.04 root下 连接 windows 中 winScp
  6. CentOS HarBor安装与配置
  7. 在现有的Visual Studio 2017中设置和测试Python环境
  8. SAP License:FI中的表连接与应用
  9. SQL Server数据库纵向转横向
  10. JavaScript常用验证代码(正则表达式)(转自cnblogs)
  11. 洛谷 P1328 生活大爆炸版石头剪刀布 模拟
  12. 2021全国研究生数学建模竞赛F题思路
  13. 送给前端的干货 ,绝对经典的学习资料大全,js框架,css
  14. 基于机器学习的文本情感分类
  15. 月关“历史网络小说第一人”:第四届橙瓜网络文学奖十佳历史大神
  16. 人工智能测试-爬百度成语-测成语接龙
  17. 2011年8月8日我搬到cnblog http://www.cnblogs.com/liuning8023/ (搬家的好日子啊)
  18. 五镜头无人机倾斜摄影POS编辑小程序
  19. JavaScript “use strict“(严格模式)
  20. curl证书过期_定时检测SSL证书过期情况并发送通知

热门文章

  1. linux 安装 hadoop2.6,centos7安装hadoop2.6.1,详细教程
  2. Vue3 Teleport(瞬移)
  3. three.js学习二
  4. 象棋人工智能算法的C++实现(二)
  5. C++的继承(七):多态和重载
  6. python logger.exception_Python logging设置和logger解析
  7. 给定直线参数在二维散点数据上绘制直线(Python)
  8. MacBook Pro怎么设置一键显示桌面功能?
  9. [附源码]PHP计算机毕业设计幻星网站设计(程序+LW)
  10. 提交按钮变灰色不可用状态