Windows Phone 7 开发系列教程之 启动器
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 开发系列教程之 启动器相关推荐
- Windows Phone 7 开发系列教程之 初识Windows Phone 7,环境配置
简介篇 WP7 是微软推出的一款移动OS,用于对抗IPhone.Android,BlackBerry等其他的移动OS.目前最新的版本为Windows Phone 7.5,当然这是一个面向用户的版本号, ...
- HTML5游戏开发系列教程5(译)
原文地址:http://www.script-tutorials.com/html5-game-development-lesson-5/ 最终我决定准备下一篇游戏开发系列的文章,我们将继续使用can ...
- 树莓派开发系列教程10——树莓派spi液晶屏支持(fbtft)
树莓派官方支持av及HDMI输出,板子上预留了一个csi接口的液晶显示屏,但是一直没有相应的模组出现.在很多应用场合我们需要一些小型的液晶屏显示一些基本的信息,所以小屏驱动很是必要. 在git ...
- WSL嵌入式开发系列教程 4 —— 安装VS code
文章目录 前言 一.安装VS Code 二.安装远程开发扩展包 三.安装相关插件 四.VS Code 新建工程 五.VS Code 终端执行 Linux 命令 总结 前言 前面我们已经搭建好了交叉编译 ...
- WSL嵌入式开发系列教程 1 —— 安装指南
文章目录 前言 一.WSL 是什么? 二.WSL 安装 总结 前言 我向来习惯在 windows 系统下安装 VMware 虚拟机来跑 Linux 系统,每隔一段时间,我虚拟机里的 Ubuntu 总会 ...
- Silverlight for Windows Phone 7开发系列(2):第一个Silverlight程序
前言 上一篇讲述了Windows Phone 7开发环境的搭建,这篇文章讲述如何创建,部署,调试以及运行Silverlight for Windows Phone应用程序,同时介绍如何Microsof ...
- C#微信公众号开发系列教程三(消息体签名及加解密)
http://www.cnblogs.com/zskbll/p/4139039.html C#微信公众号开发系列教程一(调试环境部署) C#微信公众号开发系列教程一(调试环境部署续:vs远程调试) C ...
- 微信小程序开发系列教程三:微信小程序的调试方法
微信小程序开发系列教程 微信小程序开发系列一:微信小程序的申请和开发环境的搭建 微信小程序开发系列二:微信小程序的视图设计 这个教程的前两篇文章,介绍了如何用下图所示的微信开发者工具自动生成一个Hel ...
- C#微信公众号开发系列教程五(接收事件推送与消息排重)
C#微信公众号开发系列教程五(接收事件推送与消息排重) 原文:C#微信公众号开发系列教程五(接收事件推送与消息排重) 微信公众号开发系列教程一(调试环境部署) 微信公众号开发系列教程一(调试环境部署续 ...
最新文章
- python在财务上的应用-Python用于财务工作培训
- win8桌面壁纸路径
- Vue中使用vue-video-player和videojs-flash插件实现播放rtmp视频文件流
- JavaScript判断页面当前浏览设备为移动端还是PC端,实现自动加载对应端页面
- 虚拟机Ubuntu18.04 root下 连接 windows 中 winScp
- CentOS HarBor安装与配置
- 在现有的Visual Studio 2017中设置和测试Python环境
- SAP License:FI中的表连接与应用
- SQL Server数据库纵向转横向
- JavaScript常用验证代码(正则表达式)(转自cnblogs)
- 洛谷 P1328 生活大爆炸版石头剪刀布 模拟
- 2021全国研究生数学建模竞赛F题思路
- 送给前端的干货 ,绝对经典的学习资料大全,js框架,css
- 基于机器学习的文本情感分类
- 月关“历史网络小说第一人”:第四届橙瓜网络文学奖十佳历史大神
- 人工智能测试-爬百度成语-测成语接龙
- 2011年8月8日我搬到cnblog http://www.cnblogs.com/liuning8023/ (搬家的好日子啊)
- 五镜头无人机倾斜摄影POS编辑小程序
- JavaScript “use strict“(严格模式)
- curl证书过期_定时检测SSL证书过期情况并发送通知
热门文章
- linux 安装 hadoop2.6,centos7安装hadoop2.6.1,详细教程
- Vue3 Teleport(瞬移)
- three.js学习二
- 象棋人工智能算法的C++实现(二)
- C++的继承(七):多态和重载
- python logger.exception_Python logging设置和logger解析
- 给定直线参数在二维散点数据上绘制直线(Python)
- MacBook Pro怎么设置一键显示桌面功能?
- [附源码]PHP计算机毕业设计幻星网站设计(程序+LW)
- 提交按钮变灰色不可用状态