您的位置:首页 > 其它

WP7 Launcher 启动器

2012-04-11 23:42 260 查看


在WindowsPhone中需要调用系统资源的话需要用到启动器(Launcher)和选择器(Choosers)。


其实已经很多人写过了,最近正好用到,再总结下吧…

先写启动器(Launcher),等下周有时间再写选择器(Choosers)。


1,Launchers



目前WindowsPhone启动器一共有15个

其中7.0支持的有10个:

EmailComposeTask

MarketplaceDetailTask

MarketplaceHubTask

MarketplaceReviewTask

MarketplaceSearchTask

MediaPlayerLauncher

PhoneCallTask

SearchTask

SmsComposeTask

WebBrowserTask

7.1新增了5个:

BingMapsDirectionsTask

BingMapsTask

ConnectionSettingsTask

ShareLinkTask

ShareStatusTask


2,BingMapsDirectionsTask

BingMapsDirectionsTask的功能是一个基于bing地图的路径导航,属性有两个(起点和终点),值类型为LabeledMapLocation
NameDescription

EndTheendinglocationforwhichdrivingdirectionsaredisplayed.

StartThestartinglocationforwhichdrivingdirectionsaredisplayed.
用法也很简单:
BingMapsDirectionsTaskbingMapsDirectionsTask=newBingMapsDirectionsTask();
GeoCoordinatespaceNeedleLocation=newGeoCoordinate(0,0);
LabeledMapLocationspaceNeedleLML1=newLabeledMapLocation("Somewhere",spaceNeedleLocation);
LabeledMapLocationspaceNeedleLML2=newLabeledMapLocation("qingdao",null);
bingMapsDirectionsTask.End=spaceNeedleLML2;
bingMapsDirectionsTask.Start=spaceNeedleLML1;
bingMapsDirectionsTask.Show();


其中LabeledMapLocation的第二个参数为地理坐标,如果为NULL的话,bing地图会根据第一个参数的字符串进行搜索

另外如果不设置bingMapsDirectionsTask.Start的话,默认以当前GPS定位为出发地址。

效果:



最后,bingmap在米国貌似不错,天朝比较坑爹…路径导航基本没戏….

还有手机区域语言选中国,基本不工作,选英国、米国都正常…


3,BingMapsTask

BingMapsTask的功能就是一个比较简单的bing地图调用,你可以设置地图的中间点、缩放级别或者领用bing地图搜索。
NameDescription

CenterGetsorsetsthelocationthatwillbeusedasthecenterpointforthemap.

SearchTermGetsorsetsthesearchtermthatisusedtofindandtaglocationsonthemap.

ZoomLevelGetsorsetstheinitialzoomlevelofthemap.
BingMapsTaskbingMapsTask=newBingMapsTask();
bingMapsTask.Center=newGeoCoordinate(47.6204,-122.3493);
//bingMapsTask.SearchTerm="qingdao";
bingMapsTask.ZoomLevel=50;
bingMapsTask.Show();


其中ZoomLevel是double型,而且必须大于0

效果:




4,ConnectionSettingsTask

ConnectionSettingsTask功能是快速导航到WP的网络设置(包括WIFI、数据连接、蓝牙和飞行模式)

NameDescription

ConnectionSettingsTypeGetsorsetsthetypeofnetworkconnectionsettingsthatwillbedisplayed.
ConnectionSettingsTaskconnectionSettingsTask=newConnectionSettingsTask();
connectionSettingsTask.ConnectionSettingsType=ConnectionSettingsType.WiFi;
//connectionSettingsTask.ConnectionSettingsType=ConnectionSettingsType.AirplaneMode;
//connectionSettingsTask.ConnectionSettingsType=ConnectionSettingsType.Bluetooth;
//connectionSettingsTask.ConnectionSettingsType=ConnectionSettingsType.Cellular;
connectionSettingsTask.Show();


效果就不加了,相当于快捷方式而已


5,EmailComposeTask

EmailComposeTask功能是调用绑定的邮箱发送邮件。
NameDescription

BccGetsorsetstherecipientsontheBcclineofthenewemailmessage.

BodyGetsorsetsthebodyofthenewemailmessage.

CcGetsorsetstherecipientsontheCclineofthenewemailmessage.

CodePageGetsorsetsthecharactersetthatwillbeusedtodisplaythemessagecontent.

SubjectGetsorsetsthesubjectofthenewemailmessage.

ToGetsorsetstherecipientsontheTolineofthenewemailmessage.
EmailComposeTaskemailComposeTask=newEmailComposeTask();
emailComposeTask.Subject="messagesubject";
emailComposeTask.Body="messagebody";
emailComposeTask.To="recipient@example.com";
emailComposeTask.Cc="cc@example.com";
emailComposeTask.Bcc="bcc@example.com";
emailComposeTask.Show();


标题、正文、收件人、抄送、密送,不多说了..

效果:






6,MarketplaceDetailTask

MarketplaceDetailTask功能是导航到市场上的软件(软件推荐或者提示用户下载其他账户发布的新版本或相关应用的时候很有用)
NameDescription

ContentIdentifierGetsorsetstheuniqueidentifierfortheproducttobedisplayed.

ContentTypeGetsorsetsthetypeofcontentdisplayedintheWindowsPhoneMarketplaceclientapplication.
MarketplaceDetailTaskmarketplaceDetailTask=newMarketplaceDetailTask();
marketplaceDetailTask.ContentIdentifier="c14e93aa-27d7-df11-a844-00237de2db9e";
//marketplaceDetailTask.ContentType=MarketplaceContentType.Applications;
marketplaceDetailTask.Show();

ContentType默认为MarketplaceContentType.Applications,不用设置就可以

效果:




7,MarketplaceHubTask

MarketplaceHubTask功能很简单,就是导航到Marketplace,可以选择Application或者Music。

NameDescription

ContentTypeGetsorsetsthetypeofcontentdisplayedintheWindowsPhoneMarketplaceclientapplication.
MarketplaceHubTaskmarketplaceHubTask=newMarketplaceHubTask();
marketplaceHubTask.ContentType=MarketplaceContentType.Music;
//marketplaceHubTask.ContentType=MarketplaceContentType.Applications;
marketplaceHubTask.Show();


效果:




8,MarketplaceReviewTask

MarketplaceReviewTask功能是导航到该应用的应用评分界面(一般应用的about里估计会用到)
MarketplaceReviewTaskmarketplaceReviewTask=newMarketplaceReviewTask();
marketplaceReviewTask.Show();


效果:




9,MarketplaceSearchTask

MarketplaceSearchTask功能是市场搜索
NameDescription

ContentTypeGetsorsetsthetypeofcontentdisplayedintheWindowsPhoneMarketplaceclientapplication.

SearchTermsGetsorsetsthesearchterms.
MarketplaceSearchTaskmarketplaceSearchTask=newMarketplaceSearchTask();
//marketplaceSearchTask.ContentType=MarketplaceContentType.Applications;
marketplaceSearchTask.ContentType=MarketplaceContentType.Music;
marketplaceSearchTask.SearchTerms="bewhatyouwannabe";
marketplaceSearchTask.Show();

ContentType依旧默认为Applications,另外搜索中文乱码…

效果:







10,MediaPlayerLauncher

MediaPlayerLauncher可以调用手机播放器来播放音乐、视频。

NameDescription

ControlsGetsorsetstheflagsthatdeterminewhichcontrolsaredisplayedinthemediaplayerapplication.

LocationSetsthelocationofthemediafiletobeplayed.TheMediaLocationTypeenumerationisusedtospecifyeitherisolatedstorageortheapplication’s
installationfolder.

MediaGetsorsetsthemediaplayedwiththemediaplayerapplication.

OrientationGetsorsetstheorientationinwhichthemediaplayerwillbedisplayedwhenlaunched.

MediaPlayerLaunchermediaPlayerLauncher=newMediaPlayerLauncher();
//mediaPlayerLauncher.Media=newUri("TroubleIsAFriend.mp3",UriKind.Relative);
mediaPlayerLauncher.Media=newUri("Wildlife.wmv",UriKind.Relative);
mediaPlayerLauncher.Location=MediaLocationType.Install;
mediaPlayerLauncher.Controls=MediaPlaybackControls.Pause|MediaPlaybackControls.Stop;
mediaPlayerLauncher.Orientation=MediaPlayerOrientation.Portrait;
mediaPlayerLauncher.Show();

Location需要选择是在隔离存储空间(MediaLocationType.Data)还是安装目录(MediaLocationType.Install)

效果:





11,PhoneCallTask

PhoneCallTask功能就是拨打电话
NameDescription

DisplayNameGetsorsetsthenamethatisdisplayedwhenthePhoneapplicationislaunched.

PhoneNumberGetsorsetsthephonenumberthatisdialedwhenthePhoneapplicationislaunched.
PhoneCallTaskphoneCallTask=newPhoneCallTask();
phoneCallTask.PhoneNumber="2065550123";
phoneCallTask.DisplayName="Gage";
phoneCallTask.Show();


效果:






12,SearchTask

SearchTask功能是调用搜索(貌似依旧是bing…)
NameDescription

SearchQueryGetsorsetsthesearchquerythattheWebSearchapplicationwillusewhenitislaunched.
SearchTasksearchTask=newSearchTask();
searchTask.SearchQuery="外汇";
searchTask.Show();


显示结果为网络、本地和图片,终于支持中文了

效果:






13,ShareLinkTask

ShareLinkTask可以调用你绑定的账户(Live、Facebook、Twitter)分享消息
NameDescription

LinkUriGetsorsetsthelinkURIthatwillbedisplayedinthelinksharingdialog.

MessageGetsorsetsthemessagethatwillaccompanythelinkwhenitisshared.

TitleGetsorsetsthetitleofthelinktobeshared.
ShareLinkTaskshareLinkTask=newShareLinkTask();
shareLinkTask.Title="CodeSamples";
shareLinkTask.LinkUri=newUri("http://msdn.microsoft.com/en-us/library/ff431744(v=VS.92).aspx",UriKind.Absolute);
shareLinkTask.Message="HerearesomegreatcodesamplesforWindowsPhone.";
shareLinkTask.Show();


不用多说,看名字就知道各个属性咋用了,要是啥时候微博、QQ能加入就NB了…

效果:






14,ShareStatusTask

ShareStatusTask功能是分享状态,其实和上面ShareLinkTask类似。
NameDescription

StatusGetsorsetsthestatusmessagetobeshared.
ShareStatusTaskshareStatusTask=newShareStatusTask();
shareStatusTask.Status="I'mdevelopingaWindowsPhoneapplication!";
shareStatusTask.Show();


还是和上面一样,能加微博就无敌了…

效果:




15,SmsComposeTask

SmsComposeTask功能就是发送短信。
NameDescription

BodyGetsorsetsthebodytextofthenewSMSmessage.

ToGetsorsetstherecipientlistforthenewSMSmessage.
SmsComposeTasksmsComposeTask=newSmsComposeTask();
smsComposeTask.To="2065550123";
smsComposeTask.Body="Trythisnewapplication.It'sgreat!";
smsComposeTask.Show();


不多说了..

效果:




16,WebBrowserTask

WebBrowserTask功能就是调用浏览器。
NameDescription

UriGetsorsetstheURItowhichthewebbrowserapplicationwillnavigatewhenitislaunched.

URLObsolete.GetsorsetstheURLtowhichthewebbrowserapplicationwillnavigatewhenitislaunched.
WebBrowserTaskwebBrowserTask=newWebBrowserTask();
//webBrowserTask.URL="http://msdn.microsoft.com";
webBrowserTask.Uri=newUri("http://msdn.microsoft.com",UriKind.Absolute);
webBrowserTask.Show();


url虽然提示过时,不过也能用,不过推荐用Uri。

效果:



15个启动器介绍完毕,下周有时间再写下选择器。

参考:http://msdn.microsoft.com/en-us/library/ff769550(v=vs.92).aspx
实例源码:
作者:sun8134    出处:http://sun8134.cnblogs.com/空间:http://sun8134.spaces.live.com/    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

来源:http://www.th7.cn/Program/wp7/2012/04/09/68838.shtml
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: