设为首页 收藏本站
查看: 867|回复: 0

Windows Phone 7 SDK学习之Microsoft.Phone.Tasks中的各项Task

[复制链接]

尚未签到

发表于 2015-5-8 14:46:56 | 显示全部楼层 |阅读模式
  有许多人或许会问,Windows Phone 7不允许访问本机的功能,使我们自己的程序完成共同的任务,比如发短信、发送email,但是你或许不能直接访问,但是Windows Phone 7 提供了间接的访问方式,那就是 Launchers & Choosers。通过他们我们就可以访问Windows Phone 7系统手机中的各项本机功能,并且微软已经为我们使用这些功能封装好了,我们只需要一个简单的调用就完全实现了。下面我们预览一下效果。
DSC0000.png     DSC0001.png       DSC0002.png             
  
DSC0003.png    DSC0004.png      DSC0005.png       
DSC0006.png    DSC0007.png      DSC0008.png
  
  接下来我们进入正题
  1.PhoneCallTask :打电话

    private void btnPhoneCall_Click(object sender, RoutedEventArgs e)
        {
            PhoneCallTask task = new PhoneCallTask();
  
            task.PhoneNumber = "12345678901";
  
            task.DisplayName = "吴建强";
  
            task.Show();
        }
  
  2.SmsComposeTask:发送短信 

   private void btnComposeSms_Click(object sender, RoutedEventArgs e)
        {
            SmsComposeTask task = new SmsComposeTask();
  
            task.To = "12345678901";
  
            task.Body = "你好!.";
  
            task.Show();
        }
  
  3.EmailComposeTask:发送邮件
  

  EmailComposeTask task = new EmailComposeTask();
  
            task.To = "wjqlxt@163.com";
  
            task.Cc = "875867090@qq.com";
  
            task.Subject = "测试";
  
            task.Body = "你好啊!";
  
            task.Show();
  
  
  4.WebBrowserTask:开启Web浏览器
  

    private void btnLaunchWebBrowser_Click(object sender, RoutedEventArgs e)
        {
            WebBrowserTask task = new WebBrowserTask();
  
            task.URL = "http://www.iyunv.com/salam";
            task.Show();
        }
  
  5.SearchTask:搜索功能
  

  private void btnLaunchSearch_Click(object sender, RoutedEventArgs e)
        {
            SearchTask task = new SearchTask();
  
            task.SearchQuery = "吴建强";
            task.Show();
        }
  
  6.MediaPlayerLauncher:启动媒体播放器

    MediaPlayerLauncher task = new MediaPlayerLauncher();
  
   task.Media = new Uri(@"http://ecn.channel9.msdn.com/o9/learn/videos/Silverlight4-SL4BusinessModule1-SL4LOB_01_01_Introduction/Silverlight4-SL4BusinessModule1-SL4LOB_01_01_Introduction_kit.wmv");
  
            task.Show();
  
  
  7.CameraCaptureTask:照相功能

   private void btnTakePhoto_Click(object sender, RoutedEventArgs e)
        {
            CameraCaptureTask task = new CameraCaptureTask();
  
            task.Completed += (s, evt) =>
            {
                if (evt.Error == null && evt.TaskResult == TaskResult.OK)
                {
                    BitmapImage bmpImage = new BitmapImage();
                    bmpImage.SetSource(evt.ChosenPhoto);
                    image.Source = bmpImage;
                }
            };
            task.Show();
        }

  
  8.PhotoChooserTask:选择照片功能

private void btnSelectPhoto_Click(object sender, RoutedEventArgs e)
        {
            PhotoChooserTask task = new PhotoChooserTask();
            task.Completed += (s, evt) =>
            {
                if (evt.Error == null && evt.TaskResult == TaskResult.OK)
                {
                    BitmapImage bmpImage = new BitmapImage();
                    bmpImage.SetSource(evt.ChosenPhoto);
                    image.Source = bmpImage;
                }
            };
            task.Show();
        }  
  9.PhoneNumberChooserTask:选择联系人
  

   private void btnSelectPhoneNumber_Click(object sender, RoutedEventArgs e)
        {
            PhoneNumberChooserTask task = new PhoneNumberChooserTask();
  
            task.Completed += (s, evt) =>
            {
                if (evt.Error == null && evt.TaskResult == TaskResult.OK)
                {
                    MessageBox.Show(evt.PhoneNumber + "请选择电话号码");
                }
            };
  
            task.Show();
  
        }
  
  10.EmailAddressChooserTask:选择邮箱

   private void btnSelectEmailAddress_Click(object sender, RoutedEventArgs e)
        {
            EmailAddressChooserTask task = new EmailAddressChooserTask();
  
            task.Completed += (s, evt) =>
            {
                if (evt.Error == null && evt.TaskResult == TaskResult.OK)
                {
                    MessageBox.Show(evt.Email + " 请选择邮件地址");
                }
            };
  
            task.Show();
  
        }
  
  11.SavePhoneNumberTask:保存电话号码

   private void btnSavePhoneNumber_Click(object sender, RoutedEventArgs e)
        {
            SavePhoneNumberTask task = new SavePhoneNumberTask();
  
            task.PhoneNumber = "12345678901";
  
            task.Show();
        }
  
  12.SaveEmailAddressTask:保存邮箱
  

  private void btnSaveEmailAddress_Click(object sender, RoutedEventArgs e)
        {
            SaveEmailAddressTask task = new SaveEmailAddressTask();
  
            task.Email = "875867090@qq.com";
  
            task.Show();
        }
  
  13.PhoneNumberChooserTask和SmsComposeTask的结合使用

  private void btnSms_Click(object sender, RoutedEventArgs e)
        {
            PhoneNumberChooserTask contactsTask = new PhoneNumberChooserTask();
  
            contactsTask.Completed += (s, evt) =>
            {
                if (evt.Error == null && evt.TaskResult == TaskResult.OK)
                {
                    SmsComposeTask smsTask = new SmsComposeTask();
                    smsTask.Body = "编辑内容.";
                    smsTask.To = evt.PhoneNumber;
                    smsTask.Show();
                }
            };
  
            contactsTask.Show();
        }
  
  14.EmailAddressChooserTask和EmailComposeTask的结合使用

          private void btnEmail_Click(object sender, RoutedEventArgs e)
        {
            EmailAddressChooserTask contactsTask = new EmailAddressChooserTask();
  
            contactsTask.Completed += (s, evt) =>
            {
                if (evt.Error == null && evt.TaskResult == TaskResult.OK)
                {
                    EmailComposeTask emailTask = new EmailComposeTask();
                    emailTask.Body = "编辑内容";
                    emailTask.To = evt.Email;
                    emailTask.Show();
                }
            };
  
            contactsTask.Show();
  
        }
  
  
  完整MainPage.xaml

  
     
   
        
            
            
        
          
        
            
            
        
          
        
            
               
                    Launchers
                    
                    
                    
                    
                    
                    
                    Choosers
                    
                    
                    
                    
                    
                    
                    
                     Launchers和Choosers结合
                    
                    
               
            
        
   
  
  
  完整MainPage.cs

  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.Media.Imaging;
using System.Windows.Shapes;
using Microsoft.Phone.Controls;
using Microsoft.Phone.Tasks;
  namespace WindowsPhoneTasks
{
    public partial class MainPage : PhoneApplicationPage
    {
        #region Constructor
          // Constructor
        public MainPage()
        {
            InitializeComponent();
        }
          #endregion
          #region Launchers
          private void btnPhoneCall_Click(object sender, RoutedEventArgs e)
        {
            PhoneCallTask task = new PhoneCallTask();
            task.PhoneNumber = "12345678901";
            task.DisplayName = "吴建强";
            task.Show();
        }
          private void btnComposeSms_Click(object sender, RoutedEventArgs e)
        {
            SmsComposeTask task = new SmsComposeTask();
            task.To = "12345678901";
            task.Body = "你好!.";
            task.Show();
        }
          private void btnComposeEmail_Click(object sender, RoutedEventArgs e)
        {
            EmailComposeTask task = new EmailComposeTask();
            task.To = "wjqlxt@163.com";
            task.Cc = "875867090@qq.com";
            task.Subject = "测试";
            task.Body = "你好啊!";
            task.Show();
        }
          private void btnLaunchWebBrowser_Click(object sender, RoutedEventArgs e)
        {
            WebBrowserTask task = new WebBrowserTask();
            task.URL = "http://www.iyunv.com/salam";
            task.Show();
        }
          private void btnLaunchSearch_Click(object sender, RoutedEventArgs e)
        {
            SearchTask task = new SearchTask();
            task.SearchQuery = "吴建强";
            task.Show();
        }
          private void btnLaunchMediaPlayer_Click(object sender, RoutedEventArgs e)
        {
            MediaPlayerLauncher task = new MediaPlayerLauncher();
            task.Media = new Uri(@"http://ecn.channel9.msdn.com/o9/learn/videos/Silverlight4-SL4BusinessModule1-SL4LOB_01_01_Introduction/Silverlight4-SL4BusinessModule1-SL4LOB_01_01_Introduction_kit.wmv");
            task.Show();
        }
          #endregion
          #region Choosers
          private void btnTakePhoto_Click(object sender, RoutedEventArgs e)
        {
            CameraCaptureTask task = new CameraCaptureTask();
            task.Completed += (s, evt) =>
            {
                if (evt.Error == null && evt.TaskResult == TaskResult.OK)
                {
                    BitmapImage bmpImage = new BitmapImage();
                    bmpImage.SetSource(evt.ChosenPhoto);
                    image.Source = bmpImage;
                }
            };
            task.Show();
        }
          private void btnSelectPhoto_Click(object sender, RoutedEventArgs e)
        {
            PhotoChooserTask task = new PhotoChooserTask();
            task.Completed += (s, evt) =>
            {
                if (evt.Error == null && evt.TaskResult == TaskResult.OK)
                {
                    BitmapImage bmpImage = new BitmapImage();
                    bmpImage.SetSource(evt.ChosenPhoto);
                    image.Source = bmpImage;
                }
            };
            task.Show();
        }
          private void btnSelectPhoneNumber_Click(object sender, RoutedEventArgs e)
        {
            PhoneNumberChooserTask task = new PhoneNumberChooserTask();
            task.Completed += (s, evt) =>
            {
                if (evt.Error == null && evt.TaskResult == TaskResult.OK)
                {
                    MessageBox.Show(evt.PhoneNumber + "请选择电话号码");
                }
            };
            task.Show();
        }
          private void btnSelectEmailAddress_Click(object sender, RoutedEventArgs e)
        {
            EmailAddressChooserTask task = new EmailAddressChooserTask();
            task.Completed += (s, evt) =>
            {
                if (evt.Error == null && evt.TaskResult == TaskResult.OK)
                {
                    MessageBox.Show(evt.Email + " 请选择邮件地址");
                }
            };
            task.Show();
        }
          private void btnSavePhoneNumber_Click(object sender, RoutedEventArgs e)
        {
            SavePhoneNumberTask task = new SavePhoneNumberTask();
            task.PhoneNumber = "12345678901";
            task.Show();
        }
          private void btnSaveEmailAddress_Click(object sender, RoutedEventArgs e)
        {
            SaveEmailAddressTask task = new SaveEmailAddressTask();
            task.Email = "875867090@qq.com";
            task.Show();
        }
          #endregion
          #region  Launchers 和 Choosers的结合
          private void btnSms_Click(object sender, RoutedEventArgs e)
        {
            PhoneNumberChooserTask contactsTask = new PhoneNumberChooserTask();
            contactsTask.Completed += (s, evt) =>
            {
                if (evt.Error == null && evt.TaskResult == TaskResult.OK)
                {
                    SmsComposeTask smsTask = new SmsComposeTask();
                    smsTask.Body = "编辑内容.";
                    smsTask.To = evt.PhoneNumber;
                    smsTask.Show();
                }
            };
            contactsTask.Show();
        }
          private void btnEmail_Click(object sender, RoutedEventArgs e)
        {
            EmailAddressChooserTask contactsTask = new EmailAddressChooserTask();
            contactsTask.Completed += (s, evt) =>
            {
                if (evt.Error == null && evt.TaskResult == TaskResult.OK)
                {
                    EmailComposeTask emailTask = new EmailComposeTask();
                    emailTask.Body = "编辑内容";
                    emailTask.To = evt.Email;
                    emailTask.Show();
                }
            };
            contactsTask.Show();
        }
          #endregion
    }
}

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-65051-1-1.html 上篇帖子: Windows Phone 7(WP7)开发 Loaded VS OnNavigatedTo 下篇帖子: Windows Phone 7 MVVM模式通讯方式之实现Command
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表