WP7 Launcher 启动器

 

在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
Public property End The ending location for which driving directions are displayed.
Public property Start The starting location for which driving directions are displayed.

用法也很简单:

BingMapsDirectionsTask bingMapsDirectionsTask = new BingMapsDirectionsTask();            
GeoCoordinate spaceNeedleLocation = new GeoCoordinate(0,0);
LabeledMapLocation spaceNeedleLML1 = new LabeledMapLocation("Somewhere", spaceNeedleLocation);
LabeledMapLocation spaceNeedleLML2 = new LabeledMapLocation("qingdao", null);
bingMapsDirectionsTask.End = spaceNeedleLML2;
bingMapsDirectionsTask.Start = spaceNeedleLML1;
bingMapsDirectionsTask.Show();

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

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

效果:

image

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

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

 

 

3,BingMapsTask


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

 NameDescription
Public property Center Gets or sets the location that will be used as the center point for the map.
Public property SearchTerm Gets or sets the search term that is used to find and tag locations on the map.
Public property ZoomLevel Gets or sets the initial zoom level of the map.
BingMapsTask bingMapsTask = new BingMapsTask();
bingMapsTask.Center = new GeoCoordinate(47.6204,-122.3493);
//bingMapsTask.SearchTerm = "qingdao";
bingMapsTask.ZoomLevel = 50;
bingMapsTask.Show();

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

效果:

image

 

 

4,ConnectionSettingsTask

ConnectionSettingsTask功能是快速导航到WP的网络设置(包括WIFI、数据连接、蓝牙和飞行模式)
NameDescription
Public property ConnectionSettingsType Gets or sets the type of network connection settings that will be displayed.
ConnectionSettingsTask connectionSettingsTask = new ConnectionSettingsTask();
connectionSettingsTask.ConnectionSettingsType = ConnectionSettingsType.WiFi;
//connectionSettingsTask.ConnectionSettingsType = ConnectionSettingsType.AirplaneMode;
//connectionSettingsTask.ConnectionSettingsType = ConnectionSettingsType.Bluetooth;
//connectionSettingsTask.ConnectionSettingsType = ConnectionSettingsType.Cellular;
connectionSettingsTask.Show();

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

 

 

5,EmailComposeTask


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

 NameDescription
Public property Bcc Gets or sets the recipients on the Bcc line of the new email message.
Public property Body Gets or sets the body of the new email message.
Public property Cc Gets or sets the recipients on the Cc line of the new email message.
Public property CodePage Gets or sets the character set that will be used to display the message content.
Public property Subject Gets or sets the subject of the new email message.
Public property To Gets or sets the recipients on the To line of the new email message.

 

EmailComposeTask emailComposeTask = new EmailComposeTask();
emailComposeTask.Subject = "message subject";
emailComposeTask.Body = "message body";
emailComposeTask.To = "recipient@example.com";
emailComposeTask.Cc = "cc@example.com";
emailComposeTask.Bcc = "bcc@example.com";
emailComposeTask.Show();

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

效果:

imageimage

 

 

6,MarketplaceDetailTask


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

 NameDescription
Public property ContentIdentifier Gets or sets the unique identifier for the product to be displayed.
Public property ContentType Gets or sets the type of content displayed in the Windows Phone Marketplace client application.
MarketplaceDetailTask marketplaceDetailTask = new MarketplaceDetailTask();
marketplaceDetailTask.ContentIdentifier = "c14e93aa-27d7-df11-a844-00237de2db9e";
//marketplaceDetailTask.ContentType = MarketplaceContentType.Applications;
marketplaceDetailTask.Show();
ContentType默认为MarketplaceContentType.Applications,不用设置就可以
效果:
image
 

7,MarketplaceHubTask

MarketplaceHubTask功能很简单,就是导航到Marketplace,可以选择Application或者Music。
 NameDescription
Public property ContentType Gets or sets the type of content displayed in the Windows Phone Marketplace client application.
MarketplaceHubTask marketplaceHubTask = new MarketplaceHubTask();
marketplaceHubTask.ContentType = MarketplaceContentType.Music;
//marketplaceHubTask.ContentType = MarketplaceContentType.Applications;
marketplaceHubTask.Show();

效果:

image

 

 

8,MarketplaceReviewTask


MarketplaceReviewTask功能是导航到该应用的应用评分界面(一般应用的about里估计会用到)

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

效果:

image

 

 

9,MarketplaceSearchTask


MarketplaceSearchTask功能是市场搜索

NameDescription
Public property ContentType Gets or sets the type of content displayed in the Windows Phone Marketplace client application.
Public property SearchTerms Gets or sets the search terms.
MarketplaceSearchTask marketplaceSearchTask = new MarketplaceSearchTask();
//marketplaceSearchTask.ContentType = MarketplaceContentType.Applications;
marketplaceSearchTask.ContentType = MarketplaceContentType.Music;
marketplaceSearchTask.SearchTerms = "be what you wanna be";
marketplaceSearchTask.Show();
ContentType依旧默认为Applications,另外搜索中文乱码…
效果: 
image
 
 

10,MediaPlayerLauncher

MediaPlayerLauncher可以调用手机播放器来播放音乐、视频。
 NameDescription
Public property Controls Gets or sets the flags that determine which controls are displayed in the media player application.
Public property Location Sets the location of the media file to be played. The MediaLocationType enumeration is used to specify either isolated storage or the application’s installation folder.
Public property Media Gets or sets the media played with the media player application.
Public property Orientation Gets or sets the orientation in which the media player will be displayed when launched.

MediaPlayerLauncher mediaPlayerLauncher = new MediaPlayerLauncher();
//mediaPlayerLauncher.Media = new Uri("Trouble Is A Friend.mp3", UriKind.Relative);
mediaPlayerLauncher.Media = new Uri("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)
效果:

image

 

 

11,PhoneCallTask

PhoneCallTask功能就是拨打电话

 NameDescription
Public property DisplayName Gets or sets the name that is displayed when the Phone application is launched.
Public property PhoneNumber Gets or sets the phone number that is dialed when the Phone application is launched.
PhoneCallTask phoneCallTask = new PhoneCallTask();
phoneCallTask.PhoneNumber = "2065550123";
phoneCallTask.DisplayName = "Gage";
phoneCallTask.Show();

效果:

imageimage

 

 

12,SearchTask

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

 NameDescription
Public property SearchQuery Gets or sets the search query that the Web Search application will use when it is launched.
SearchTask searchTask = new SearchTask();
searchTask.SearchQuery = "外汇";
searchTask.Show();

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

效果:

imageimage

 

 

13,ShareLinkTask


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

 NameDescription
Public property LinkUri Gets or sets the link URI that will be displayed in the link sharing dialog.
Public property Message Gets or sets the message that will accompany the link when it is shared.
Public property Title Gets or sets the title of the link to be shared.
ShareLinkTask shareLinkTask = new ShareLinkTask();
shareLinkTask.Title = "Code Samples";
shareLinkTask.LinkUri = new Uri("http://msdn.microsoft.com/en-us/library/ff431744(v=VS.92).aspx", UriKind.Absolute);
shareLinkTask.Message = "Here are some great code samples for Windows Phone.";
shareLinkTask.Show();

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

效果:

imageimage

 

 

14,ShareStatusTask


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

 NameDescription
Public property Status Gets or sets the status message to be shared.
ShareStatusTask shareStatusTask = new ShareStatusTask();
shareStatusTask.Status = "I'm developing a Windows Phone application!";
shareStatusTask.Show();

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

效果:

image

 

 

15,SmsComposeTask


SmsComposeTask功能就是发送短信。

 NameDescription
Public property Body Gets or sets the body text of the new SMS message.
Public property To Gets or sets the recipient list for the new SMS message.
SmsComposeTask smsComposeTask = new SmsComposeTask();
smsComposeTask.To = "2065550123";
smsComposeTask.Body = "Try this new application. It's great!";
smsComposeTask.Show();

不多说了..

效果:

image

 

16,WebBrowserTask


WebBrowserTask功能就是调用浏览器。

 NameDescription
Public property Uri Gets or sets the URI to which the web browser application will navigate when it is launched.
Public property URL Obsolete. Gets or sets the URL to which the web browser application will navigate when it is launched.
WebBrowserTask webBrowserTask = new WebBrowserTask();
//webBrowserTask.URL = "http://msdn.microsoft.com";
webBrowserTask.Uri = new Uri("http://msdn.microsoft.com", UriKind.Absolute);
webBrowserTask.Show();

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

效果:

image

 

 

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

参考: http://msdn.microsoft.com/en-us/library/ff769550(v=vs.92).aspx

 

实例源码:

posted @ 2012-04-09 01:20 sun8134 阅读(...) 评论(...) 编辑 收藏
分享按钮