与众不同 windows phone (4) - Launcher(启动器)

[索引页]
[源码下载]


与众不同 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
[源码下载]

posted @ 2012-06-14 09:06  webabcd  阅读(4989)  评论(24编辑  收藏  举报