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

  Name Description
WP7 Launcher 启动器 End The ending location for which driving directions are displayed.
WP7 Launcher 启动器 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定位为出发地址。

效果:

WP7 Launcher 启动器

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

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

 

 

3,BingMapsTask


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

  Name Description
WP7 Launcher 启动器 Center Gets or sets the location that will be used as the center point for the map.
WP7 Launcher 启动器 SearchTerm Gets or sets the search term that is used to find and tag locations on the map.
WP7 Launcher 启动器 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

效果:

WP7 Launcher 启动器

 

 

4,ConnectionSettingsTask

ConnectionSettingsTask功能是快速导航到WP的网络设置(包括WIFI、数据连接、蓝牙和飞行模式)
Name Description
WP7 Launcher 启动器 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功能是调用绑定的邮箱发送邮件。

  Name Description
WP7 Launcher 启动器 Bcc Gets or sets the recipients on the Bcc line of the new email message.
WP7 Launcher 启动器 Body Gets or sets the body of the new email message.
WP7 Launcher 启动器 Cc Gets or sets the recipients on the Cc line of the new email message.
WP7 Launcher 启动器 CodePage Gets or sets the character set that will be used to display the message content.
WP7 Launcher 启动器 Subject Gets or sets the subject of the new email message.
WP7 Launcher 启动器 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 = "[email protected]";
emailComposeTask.Cc = "[email protected]";
emailComposeTask.Bcc = "[email protected]";
emailComposeTask.Show();

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

效果:

WP7 Launcher 启动器WP7 Launcher 启动器

 

 

6,MarketplaceDetailTask


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

  Name Description
WP7 Launcher 启动器 ContentIdentifier Gets or sets the unique identifier for the product to be displayed.
WP7 Launcher 启动器 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,不用设置就可以
效果:
 

7,MarketplaceHubTask

MarketplaceHubTask功能很简单,就是导航到Marketplace,可以选择Application或者Music。
  Name Description
WP7 Launcher 启动器 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();

效果:

WP7 Launcher 启动器

 

 

8,MarketplaceReviewTask


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

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

效果:

WP7 Launcher 启动器

 

 

9,MarketplaceSearchTask


MarketplaceSearchTask功能是市场搜索

Name Description
WP7 Launcher 启动器 ContentType Gets or sets the type of content displayed in the Windows Phone Marketplace client application.
WP7 Launcher 启动器 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,另外搜索中文乱码…
效果: 
 
 

10,MediaPlayerLauncher

MediaPlayerLauncher可以调用手机播放器来播放音乐、视频。
  Name Description
WP7 Launcher 启动器 Controls Gets or sets the flags that determine which controls are displayed in the media player application.
WP7 Launcher 启动器 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.
WP7 Launcher 启动器 Media Gets or sets the media played with the media player application.
WP7 Launcher 启动器 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)
效果:

WP7 Launcher 启动器

 

 

11,PhoneCallTask

PhoneCallTask功能就是拨打电话

  Name Description
WP7 Launcher 启动器 DisplayName Gets or sets the name that is displayed when the Phone application is launched.
WP7 Launcher 启动器 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();

效果:

WP7 Launcher 启动器WP7 Launcher 启动器

 

 

12,SearchTask

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

  Name Description
WP7 Launcher 启动器 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();

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

效果:

WP7 Launcher 启动器WP7 Launcher 启动器

 

 

13,ShareLinkTask


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

  Name Description
WP7 Launcher 启动器 LinkUri Gets or sets the link URI that will be displayed in the link sharing dialog.
WP7 Launcher 启动器 Message Gets or sets the message that will accompany the link when it is shared.
WP7 Launcher 启动器 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了…

效果:

WP7 Launcher 启动器WP7 Launcher 启动器

 

 

14,ShareStatusTask


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

  Name Description
WP7 Launcher 启动器 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();

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

效果:

WP7 Launcher 启动器

 

 

15,SmsComposeTask


SmsComposeTask功能就是发送短信。

  Name Description
WP7 Launcher 启动器 Body Gets or sets the body text of the new SMS message.
WP7 Launcher 启动器 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();

不多说了..

效果:

WP7 Launcher 启动器

 

16,WebBrowserTask


WebBrowserTask功能就是调用浏览器。

  Name Description
WP7 Launcher 启动器 Uri Gets or sets the URI to which the web browser application will navigate when it is launched.
WP7 Launcher 启动器 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。

效果:

WP7 Launcher 启动器

 

 

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

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

 

实例源码:

转载于:https://www.cnblogs.com/sun8134/archive/2012/04/09/2438337.html