与众不同 windows phone (4) - Launcher(启动器)
作者:webabcd
介绍
与众不同 windows phone 7.5 (sdk 7.1) 之启动器
- ConnectionSettingsTask - 导航到指定的系统设置页
- PhoneCallTask - 呼出电话
- SmsComposeTask - 发短信
- EmailComposeTask - 发电子邮件
- WebBrowserTask - 打开浏览器
- SearchTask - 打开搜索页
- ShareLinkTask - 分享链接到指定的社交网络
- ShareStatusTask - 分享状态到指定的社交网络
- MarketplaceHubTask - 打开商店 Hub
- MarketplaceSearchTask - 在商店搜索
- MarketplaceDetailTask - 打开商店某 App 的详细页
- MarketplaceReviewTask - 评价当前应用程序
- BingMapsTask - Bing 地图
- BingMapsDirectionsTask - Bing 地图行车路线
- MediaPlayerLauncher - 打开媒体播放器
示例
1、ConnectionSettingsTask 的 Demo
ConnectionSettingsTask.xaml.cs
/* * ConnectionSettingsTask - 导航到指定设置页 * ConnectionSettingsType - 设置页的类别 * ConnectionSettingsType.WiFi - WiFi 设置 * ConnectionSettingsType.Bluetooth - 蓝牙设置 * ConnectionSettingsType.Cellular - 手机网络设置 * ConnectionSettingsType.AirplaneMode - 飞行模式设置 * Show() - 导航到指定设置页 */ using System; using System.Collections.Generic; using System.Linq; using System.Net; using System.Windows; using System.Windows.Controls; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Animation; using System.Windows.Shapes; using Microsoft.Phone.Controls; using Microsoft.Phone.Tasks; namespace Demo.Launchers { public partial class ConnectionSettingsTaskDemo : PhoneApplicationPage { public ConnectionSettingsTaskDemo() { InitializeComponent(); } private void btnWiFi_Click(object sender, RoutedEventArgs e) { ConnectionSettingsTask connectionSettingsTask = new ConnectionSettingsTask(); connectionSettingsTask.ConnectionSettingsType = ConnectionSettingsType.WiFi; connectionSettingsTask.Show(); } private void btnBluetooth_Click(object sender, RoutedEventArgs e) { ConnectionSettingsTask connectionSettingsTask = new ConnectionSettingsTask(); connectionSettingsTask.ConnectionSettingsType = ConnectionSettingsType.Bluetooth; connectionSettingsTask.Show(); } private void btnCellular_Click(object sender, RoutedEventArgs e) { ConnectionSettingsTask connectionSettingsTask = new ConnectionSettingsTask(); connectionSettingsTask.ConnectionSettingsType = ConnectionSettingsType.Cellular; connectionSettingsTask.Show(); } private void btnAirplaneMode_Click(object sender, RoutedEventArgs e) { ConnectionSettingsTask connectionSettingsTask = new ConnectionSettingsTask(); connectionSettingsTask.ConnectionSettingsType = ConnectionSettingsType.AirplaneMode; connectionSettingsTask.Show(); } } }
2、PhoneCallTask 的 Demo
PhoneCallTask.xaml.cs
/* * PhoneCallTask - 拨打电话 * PhoneNumber - 需要拨打的电话号码 * DisplayName - 程序拨叫过程中显示的名称 * Show() - 按指定的设置拨打电话 */ using System; using System.Collections.Generic; using System.Linq; using System.Net; using System.Windows; using System.Windows.Controls; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Animation; using System.Windows.Shapes; using Microsoft.Phone.Controls; using Microsoft.Phone.Tasks; namespace Demo.Launchers { public partial class PhoneCallTaskDemo : PhoneApplicationPage { public PhoneCallTaskDemo() { InitializeComponent(); } private void btnDemo_Click(object sender, RoutedEventArgs e) { PhoneCallTask phoneCallTask = new PhoneCallTask(); phoneCallTask.PhoneNumber = "11111111111"; phoneCallTask.DisplayName = "DisplayName"; phoneCallTask.Show(); } } }
3、SmsComposeTask 的 Demo
SmsComposeTask.xaml.cs
/* * SmsComposeTask - 发送短信 * To - 收件人 * Body - 短信内容 * Show() - 按指定的设置发送短信 */ using System; using System.Collections.Generic; using System.Linq; using System.Net; using System.Windows; using System.Windows.Controls; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Animation; using System.Windows.Shapes; using Microsoft.Phone.Controls; using Microsoft.Phone.Tasks; namespace Demo.Launchers { public partial class SmsComposeTaskDemo : PhoneApplicationPage { public SmsComposeTaskDemo() { InitializeComponent(); } private void btnDemo_Click(object sender, RoutedEventArgs e) { SmsComposeTask smsComposeTask = new SmsComposeTask(); smsComposeTask.To = "11111111111"; smsComposeTask.Body = "短信内容"; smsComposeTask.Show(); } } }
4、EmailComposeTask 的 Demo
EmailComposeTask.xaml.cs
/* * EmailComposeTask - 发送电子邮件 * Subject - 邮件主题 * Body - 邮件正文 * To - 收件人地址 * CC - 抄送地址 * Bcc - 密件抄送地址 * CodePage - 用于显示邮件内容的字符集(默认为 utf-8) * Show() - 按指定的设置发送电子邮件 */ using System; using System.Collections.Generic; using System.Linq; using System.Net; using System.Windows; using System.Windows.Controls; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Animation; using System.Windows.Shapes; using Microsoft.Phone.Controls; using Microsoft.Phone.Tasks; namespace Demo.Launchers { public partial class EmailComposeTaskDemo : PhoneApplicationPage { public EmailComposeTaskDemo() { InitializeComponent(); } private void btnDemo_Click(object sender, RoutedEventArgs e) { EmailComposeTask emailComposeTask = new EmailComposeTask(); emailComposeTask.Subject = "邮件主题"; emailComposeTask.Body = "邮件正文"; emailComposeTask.To = "to@mail.com"; emailComposeTask.Cc = "cc@mail.com"; emailComposeTask.Bcc = "bcc@mail.com"; // emailComposeTask.CodePage // 默认为 utf-8 emailComposeTask.Show(); } } }
5、WebBrowserTask 的 Demo
WebBrowserTask.xaml.cs
/* * WebBrowserTask - 通过浏览器打开指定网页 * Uri - 需要打开的页面的 Uri * Show() - 打开指定网页 */ using System; using System.Collections.Generic; using System.Linq; using System.Net; using System.Windows; using System.Windows.Controls; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Animation; using System.Windows.Shapes; using Microsoft.Phone.Controls; using Microsoft.Phone.Tasks; namespace Demo.Launchers { public partial class WebBrowserTaskDemo : PhoneApplicationPage { public WebBrowserTaskDemo() { InitializeComponent(); } private void btnDemo_Click(object sender, RoutedEventArgs e) { WebBrowserTask webBrowserTask = new WebBrowserTask(); webBrowserTask.Uri = new Uri("http://webabcd.cnblogs.com/", UriKind.Absolute); webBrowserTask.Show(); } } }
6、SearchTask 的 Demo
SearchTask.xaml.cs
/* * SearchTask - 搜索 * SearchQuery - 需要搜索的关键字 * Show() - 在 Web 上搜索指定的内容 */ using System; using System.Collections.Generic; using System.Linq; using System.Net; using System.Windows; using System.Windows.Controls; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Animation; using System.Windows.Shapes; using Microsoft.Phone.Controls; using Microsoft.Phone.Tasks; namespace Demo.Launchers { public partial class SearchTaskDemo : PhoneApplicationPage { public SearchTaskDemo() { InitializeComponent(); } private void btnDemo_Click(object sender, RoutedEventArgs e) { SearchTask searchTask = new SearchTask(); searchTask.SearchQuery = "webabcd"; searchTask.Show(); } } }
7、ShareLinkTask 的 Demo
ShareLinkTask.xaml.cs
/* * ShareLinkTask - 分享链接 * Title - 需要分享的链接的标题 * LinkUri - 需要分享的链接的地址 * Message - 需要分享的链接的相关详细信息 * Show() - 启动一个对话框,以允许用户在其所选择的网络上分享链接 */ using System; using System.Collections.Generic; using System.Linq; using System.Net; using System.Windows; using System.Windows.Controls; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Animation; using System.Windows.Shapes; using Microsoft.Phone.Controls; using Microsoft.Phone.Tasks; namespace Demo.Launchers { public partial class ShareLinkTaskDemo : PhoneApplicationPage { public ShareLinkTaskDemo() { InitializeComponent(); } private void btnDemo_Click(object sender, RoutedEventArgs e) { ShareLinkTask shareLinkTask = new ShareLinkTask(); shareLinkTask.Title = "webabcd 博客"; shareLinkTask.LinkUri = new Uri("http://webabcd.cnblogs.com/", UriKind.Absolute); shareLinkTask.Message = "这里有很多 windows phone 的文章"; shareLinkTask.Show(); } } }
8、ShareStatusTask 的 Demo
ShareStatusTask.xaml.cs
/* * ShareStatusTask - 分享状态 * Status - 状态信息 * Show() - 启动一个对话框,以允许用户在其所选择的网络上分享状态 */ using System; using System.Collections.Generic; using System.Linq; using System.Net; using System.Windows; using System.Windows.Controls; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Animation; using System.Windows.Shapes; using Microsoft.Phone.Controls; using Microsoft.Phone.Tasks; namespace Demo.Launchers { public partial class ShareStatusTaskDemo : PhoneApplicationPage { public ShareStatusTaskDemo() { InitializeComponent(); } private void btnDemo_Click(object sender, RoutedEventArgs e) { ShareStatusTask shareStatusTask = new ShareStatusTask(); shareStatusTask.Status = "我开始做 wp7 的开发了"; shareStatusTask.Show(); } } }
9、MarketplaceHubTask 的 Demo
MarketplaceHubTask.xaml.cs
/* * MarketplaceHubTask - 打开市场 hub * ContentType - 指定需要打开的市场的内容类型 * MarketplaceContentType.Applications - 应用程序 * MarketplaceContentType.Music - 音乐 * Show() - 打开市场 hub */ using System; using System.Collections.Generic; using System.Linq; using System.Net; using System.Windows; using System.Windows.Controls; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Animation; using System.Windows.Shapes; using Microsoft.Phone.Controls; using Microsoft.Phone.Tasks; namespace Demo.Launchers { public partial class MarketplaceHubTaskDemo : PhoneApplicationPage { public MarketplaceHubTaskDemo() { InitializeComponent(); } private void btnDemo_Click(object sender, RoutedEventArgs e) { MarketplaceHubTask marketplaceHubTask = new MarketplaceHubTask(); marketplaceHubTask.ContentType = MarketplaceContentType.Applications; marketplaceHubTask.Show(); } } }
10、MarketplaceSearchTask 的 Demo
MarketplaceSearchTask.xaml.cs
/* * MarketplaceSearchTask - 在市场中搜做 * ContentType - 需要搜索的内容类型 * MarketplaceContentType.Applications - 应用程序 * MarketplaceContentType.Music - 音乐 * SearchTerms - 搜索用的关键字 * Show() - 在市场中按指定条件进行搜索 */ using System; using System.Collections.Generic; using System.Linq; using System.Net; using System.Windows; using System.Windows.Controls; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Animation; using System.Windows.Shapes; using Microsoft.Phone.Controls; using Microsoft.Phone.Tasks; namespace Demo.Launchers { public partial class MarketplaceSearchTaskDemo : PhoneApplicationPage { public MarketplaceSearchTaskDemo() { InitializeComponent(); } private void btnDemo_Click(object sender, RoutedEventArgs e) { MarketplaceSearchTask marketplaceSearchTask = new MarketplaceSearchTask(); marketplaceSearchTask.ContentType = MarketplaceContentType.Applications; marketplaceSearchTask.SearchTerms = "webabcd"; marketplaceSearchTask.Show(); } } }
11、MarketplaceDetailTask 的 Demo
MarketplaceDetailTask.xaml.cs
/* * MarketplaceDetailTask - 指定程序的详细信息 * ContentType - 只能是 MarketplaceContentType.Applications * ContentIdentifier - 指定 app 的 id * Show() - 在市场中,显示指定应用程序的详细信息 */ using System; using System.Collections.Generic; using System.Linq; using System.Net; using System.Windows; using System.Windows.Controls; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Animation; using System.Windows.Shapes; using Microsoft.Phone.Controls; using Microsoft.Phone.Tasks; namespace Demo.Launchers { public partial class MarketplaceDetailTaskDemo : PhoneApplicationPage { public MarketplaceDetailTaskDemo() { InitializeComponent(); } private void btnDemo_Click(object sender, RoutedEventArgs e) { MarketplaceDetailTask marketplaceDetailTask = new MarketplaceDetailTask(); marketplaceDetailTask.ContentIdentifier = "2aa7921f-a823-4beb-ad67-02b5d4e8a9a3"; marketplaceDetailTask.ContentType = MarketplaceContentType.Applications; marketplaceDetailTask.Show(); } } }
12、MarketplaceReviewTask 的 Demo
MarketplaceReviewTask.xaml.cs
/* * MarketplaceReviewTask - 评价当前应用程序 * Show() - 显示当前应用程序的评价页面 */ using System; using System.Collections.Generic; using System.Linq; using System.Net; using System.Windows; using System.Windows.Controls; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Animation; using System.Windows.Shapes; using Microsoft.Phone.Controls; using Microsoft.Phone.Tasks; namespace Demo.Launchers { public partial class MarketplaceReviewTaskDemo : PhoneApplicationPage { public MarketplaceReviewTaskDemo() { InitializeComponent(); } private void btnDemo_Click(object sender, RoutedEventArgs e) { MarketplaceReviewTask marketplaceReviewTask = new MarketplaceReviewTask(); marketplaceReviewTask.Show(); } } }
13、BingMapsTask 的 Demo
BingMapsTask.xaml.cs
/* * BingMapsTask - Bing 地图 * SearchTerm - 需要在地图中搜索的内容 * Center - 地图中心点的坐标 * ZoomLevel - 地图的放大级别 * Show() - 按指定要求打开 Bing 地图 */ using System; using System.Collections.Generic; using System.Linq; using System.Net; using System.Windows; using System.Windows.Controls; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Animation; using System.Windows.Shapes; using Microsoft.Phone.Controls; using Microsoft.Phone.Tasks; using System.Device.Location; namespace Demo.Launchers { public partial class BingMapsTaskDemo : PhoneApplicationPage { public BingMapsTaskDemo() { InitializeComponent(); } private void btnDemo_Click(object sender, RoutedEventArgs e) { BingMapsTask bingMapsTask = new BingMapsTask(); // bingMapsTask.Center = new GeoCoordinate(39.9, 116.3); // bingMapsTask.ZoomLevel = 6; bingMapsTask.SearchTerm = "天安门"; bingMapsTask.Show(); } } }
14、BingMapsDirectionsTask 的 Demo
BingMapsDirectionsTask.xaml.cs
/* * BingMapsDirectionsTask - Bing 地图行车路线 * Start - 行车路线的开始位置(LabeledMapLocation 类型) * End - 行车路线的结束位置(LabeledMapLocation 类型) * Show() - 打开 Bing 地图,并显示指定开始位置和结束位置的行车路线 * * LabeledMapLocation - 关联了标签的地理坐标 * Label - 位置的文本标签 * Location - 位置的地理坐标 */ using System; using System.Collections.Generic; using System.Linq; using System.Net; using System.Windows; using System.Windows.Controls; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Animation; using System.Windows.Shapes; using Microsoft.Phone.Controls; using Microsoft.Phone.Tasks; using System.Device.Location; namespace Demo.Launchers { public partial class BingMapsDirectionsTaskDemo : PhoneApplicationPage { public BingMapsDirectionsTaskDemo() { InitializeComponent(); } private void btnDemo_Click(object sender, RoutedEventArgs e) { BingMapsDirectionsTask bingMapsDirectionsTask = new BingMapsDirectionsTask(); // 如果不指定地理坐标,则会针对位置标签进行搜索 LabeledMapLocation lml = new LabeledMapLocation("天安门", null); bingMapsDirectionsTask.End = lml; // Start 和 End 必须至少指定其中之一,当只指定一个时,另一个则使用本地位置 bingMapsDirectionsTask.Show(); } } }
15、MediaPlayerLauncher 的 Demo
MediaPlayerLauncher.xaml.cs
/* * MediaPlayerLauncher - 媒体播放器 * Location - 需要播放的媒体的所在位置 * MediaLocationType.Install - 媒体在程序包中 * MediaLocationType.Data - 媒体在独立存储中 * Media - 需要播放的媒体的地址(视频或音频均可,系统会自动使用对应的播放器呈现 Media) * Controls - 播放器需要显示的控件 * MediaPlaybackControls.None - 无控件 * MediaPlaybackControls.Pause - 暂停控件 * MediaPlaybackControls.Stop - 停止控件 * MediaPlaybackControls.FastForward - 快进控件 * MediaPlaybackControls.Rewind - 快退控件 * MediaPlaybackControls.Skip - 跳过控件 * MediaPlaybackControls.All - 全部控件 * Orientation - 播放器启动时的显示方向,MediaPlayerOrientation.Landscape 或 MediaPlayerOrientation.Portrait * Show() - 打开媒体播放器,播放指定的媒体 */ using System; using System.Collections.Generic; using System.Linq; using System.Net; using System.Windows; using System.Windows.Controls; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Animation; using System.Windows.Shapes; using Microsoft.Phone.Controls; using Microsoft.Phone.Tasks; namespace Demo.Launchers { public partial class MediaPlayerLauncherDemo : PhoneApplicationPage { public MediaPlayerLauncherDemo() { InitializeComponent(); } private void btnDemo_Click(object sender, RoutedEventArgs e) { MediaPlayerLauncher mediaPlayerLauncher = new MediaPlayerLauncher(); mediaPlayerLauncher.Media = new Uri("Assets/Demo.mp4", UriKind.Relative); // 播放视频则打开视频播放器 // mediaPlayerLauncher.Media = new Uri("Assets/SuperMario.mp3", UriKind.Relative); // 播放音频则打开音频播放器 // mediaPlayerLauncher.Location = MediaLocationType.Data; mediaPlayerLauncher.Location = MediaLocationType.Install; mediaPlayerLauncher.Controls = MediaPlaybackControls.Pause | MediaPlaybackControls.Stop; mediaPlayerLauncher.Orientation = MediaPlayerOrientation.Landscape; mediaPlayerLauncher.Show(); } } }
OK
[源码下载]