Windows Phone 选择器

using Microsoft.Phone.Controls;
using Microsoft.Phone.Tasks;
using System;
using System.Windows;

namespace PhoneAppChooser
{
    public partial class MainPage : PhoneApplicationPage
    {
        public MainPage()
        {
            InitializeComponent();
        }
        /*
         * 如何使用 Windows Phone 地址选择器任务
         * http://msdn.microsoft.com/zh-CN/library/hh394029(v=vs.92)
         * 使用地址选择器任务可获取用户选择的联系人的物理地址。此任务启动“联系人”应用程序,以便用户能够选择联系人。
         * 如果用户完成此任务,将会引发一个事件,并且事件处理程序将会在结果中收到一个地址。
         */
        private void Button_Click_1(object sender, RoutedEventArgs e)
        {
            AddressChooserTask addressChooserTask = new AddressChooserTask();
            addressChooserTask.Completed += (obj, addressResult) =>
            {
                if (addressResult.TaskResult == TaskResult.OK)
                {
                    MessageBox.Show("the address for " + addressResult.DisplayName + " is " + addressResult.Address);
                }
            };
            addressChooserTask.Show();
        }
        /*
         * 如何使用 Windows Phone 相机拍摄任务
         * http://msdn.microsoft.com/zh-CN/library/hh394006(v=vs.92)
         * 通过相机拍摄任务,用户能够从您的应用程序中使用内置“相机”应用程序拍摄照片。
         * 如果用户完成此任务,将会引发一个事件,并且事件处理程序将会在结果中收到一张照片。
         */
        private void Button_Click_2(object sender, RoutedEventArgs e)
        {
            CameraCaptureTask cameraCaptureTask = new CameraCaptureTask();
            cameraCaptureTask.Completed += (obj, photoResult) =>
            {
                if (photoResult.TaskResult == TaskResult.OK)
                {
                    MessageBox.Show(photoResult.ChosenPhoto.Length.ToString());
                }
            };
            cameraCaptureTask.Show();
        }
        /*
         * 如何使用 Windows Phone 电子邮件地址选择器任务
         * http://msdn.microsoft.com/zh-CN/library/hh394016(v=vs.92)
         * 使用电子邮件地址选择器任务可获取用户选择的联系人的电子邮件地址。此任务启动“联系人”应用程序,
         * 以便用户能够选择联系人。如果用户完成此任务,将会引发一个事件,并且事件处理程序将会在结果中收到一个地址。
         */
        private void Button_Click_3(object sender, RoutedEventArgs e)
        {
            EmailAddressChooserTask emailAddressChooserTask = new EmailAddressChooserTask();
            emailAddressChooserTask.Completed += (obj, emailResult) =>
            {
                if (emailResult.TaskResult == TaskResult.OK)
                {
                    MessageBox.Show("DisplayName: " + emailResult.DisplayName + " Email: " + emailResult.Email);
                }
            };
            emailAddressChooserTask.Show();
        }
        /*
         * 如何使用 Windows Phone 游戏邀请任务
         * http://msdn.microsoft.com/zh-CN/library/hh394002(v=vs.92)
         * 使用游戏邀请任务可以显示游戏邀请屏幕,该屏幕允许用户邀请多个玩家加入一个多人游戏会话。邀请是异步发送的。
         * 
         * 
         */
        private void Button_Click_4(object sender, RoutedEventArgs e)
        {
            GameInviteTask gameInviteTask = new GameInviteTask();
            gameInviteTask.Completed += (obj, taskEventArgs) =>
            {
                switch (taskEventArgs.TaskResult)
                {
                    case TaskResult.Cancel:
                        MessageBox.Show("Game invitation sent.");
                        break;
                    case TaskResult.None:
                        MessageBox.Show("Game invitation couldn't be sent.");
                        break;
                    case TaskResult.OK:
                        MessageBox.Show("Game invitation cancelled.");
                        break;
                    default:
                        break;
                }
            };
            gameInviteTask.SessionId = "game session id 不知道这个sessionid该怎么填";
            gameInviteTask.Show();
        }
        /*
         * 如何使用 Windows Phone 电话号码选择器任务
         * http://msdn.microsoft.com/zh-CN/library/hh394021(v=vs.92)
         * 使用电话号码选择器任务可获取用户选择的联系人的电话号码。此任务启动“联系人”应用程序,以便用户能够选择联系人。
         * 如果用户完成此任务,将会引发一个事件,并且事件处理程序将会在结果中收到一个电话号码。
         */
        private void Button_Click_5(object sender, RoutedEventArgs e)
        {
            PhoneNumberChooserTask phoneNumberChooserTask = new PhoneNumberChooserTask();
            phoneNumberChooserTask.Completed += (obj, phoneNumberResult) =>
            {
                if (phoneNumberResult.TaskResult == TaskResult.OK)
                {
                    MessageBox.Show("the phone number for " + phoneNumberResult.DisplayName + " is " + phoneNumberResult.PhoneNumber);
                }
            };
            phoneNumberChooserTask.Show();
        }
        /*
         * 如何使用 Windows Phone 照片选择器任务
         * http://msdn.microsoft.com/zh-CN/library/hh394019(v=vs.92)
         * 使用照片选择器任务使用户能够从电话中选择现有照片。此任务可以启动照片选择器应用程序。
         * 如果用户完成此任务,将会引发一个事件,并且事件处理程序将会在结果中收到一张照片。
         */
        private void Button_Click_6(object sender, RoutedEventArgs e)
        {
            PhotoChooserTask photoChooserTask = new PhotoChooserTask();
            photoChooserTask.ShowCamera = true;//默认不显示
            photoChooserTask.Completed += (obj, photoResult) =>
            {
                if (photoResult.TaskResult == TaskResult.OK)
                {
                    MessageBox.Show(photoResult.ChosenPhoto.Length.ToString());
                }
            };
            photoChooserTask.Show();
        }
        /*
         * 如何使用 Windows Phone 保存联系人任务
         * http://msdn.microsoft.com/zh-CN/library/hh394013(v=vs.92)
         * 使用保存联系人任务可使用户能够通过您的应用程序保存联系人。此任务启动“联系人”应用程序。
         */
        private void Button_Click_7(object sender, RoutedEventArgs e)
        {
            SaveContactTask saveContactTask = new SaveContactTask();
            saveContactTask.Completed += (obj, saveContactResult) =>
            {
                switch (saveContactResult.TaskResult)
                {
                    case TaskResult.Cancel:
                        MessageBox.Show("save cancelled.");
                        break;
                    case TaskResult.None:
                        MessageBox.Show("save couldn't be saved");
                        break;
                    case TaskResult.OK:
                        MessageBox.Show("Contact save ok");
                        break;
                    default:
                        break;
                }
            };
            saveContactTask.FirstName = "G";
            saveContactTask.MiddleName = " ";
            saveContactTask.LastName = "RJ";
            saveContactTask.MobilePhone = "15911162317";
            saveContactTask.Notes = "备注";
            saveContactTask.Company = "公司";
            saveContactTask.JobTitle = "职称";
            saveContactTask.Nickname = "昵称";
            saveContactTask.Suffix = "联系人后缀名";
            saveContactTask.Title = "联系人别称";
            saveContactTask.Website = "个人网站";
            saveContactTask.HomeAddressCountry = "家庭所在国家";
            saveContactTask.HomeAddressState = "家庭所在省";
            saveContactTask.HomeAddressCity = "家庭所在城市";
            saveContactTask.HomeAddressStreet = "家庭所在街道名称和号码";
            saveContactTask.HomeAddressZipCode = "家庭所在邮政编码";
            saveContactTask.HomePhone = "家庭电话号码";
            saveContactTask.PersonalEmail = "个人电子邮箱";
            saveContactTask.OtherEmail = "其它电子邮箱";
            saveContactTask.WorkAddressCountry = "工作所在国家";
            saveContactTask.WorkAddressState = "工作所在省";
            saveContactTask.WorkAddressCity = "工作所在城市";
            saveContactTask.WorkAddressStreet = "工作所在接到和号码";
            saveContactTask.WorkAddressZipCode = "工作所在邮政编码";
            saveContactTask.WorkEmail = "工作邮箱";
            saveContactTask.WorkPhone = "工作电话";
            saveContactTask.Show();
        }
        /*
         * 如何使用 Windows Phone 保存电子邮件地址任务
         * http://msdn.microsoft.com/zh-CN/library/hh394023(v=vs.92)
         * 使用保存电子邮件地址任务可使用户能够通过您的应用程序保存电子邮件地址。
         * 此任务启动“联系人”应用程序。
         */
        private void Button_Click_8(object sender, RoutedEventArgs e)
        {
            SaveEmailAddressTask saveEmailAddressTask = new SaveEmailAddressTask();
            saveEmailAddressTask.Completed += (obj, taskEventArgs) =>
            {
                switch (taskEventArgs.TaskResult)
                {
                    case TaskResult.Cancel:
                        MessageBox.Show("Save cancelled.");
                        break;
                    case TaskResult.None:
                        MessageBox.Show("Email could not be saved.");
                        break;
                    case TaskResult.OK:
                        MessageBox.Show("Email saved.");
                        break;
                    default:
                        break;
                }
            };
            saveEmailAddressTask.Email = "guorenjun1046@126.com";
            saveEmailAddressTask.Show();
        }
        /*
         * 如何使用 Windows Phone 保存电话号码任务
         * http://msdn.microsoft.com/zh-CN/library/hh394028(v=vs.92)
         * 使用保存电话号码任务可使用户能够通过您的应用程序保存电话号码。此任务启动“联系人”应用程序。
         */
        private void Button_Click_9(object sender, RoutedEventArgs e)
        {
            SavePhoneNumberTask savePhoneNumberTask = new SavePhoneNumberTask();
            savePhoneNumberTask.Completed += (obj, taskEventArgs) =>
            {
                switch (taskEventArgs.TaskResult)
                {
                    //Logic for when the number was saved successfully
                    case TaskResult.OK:
                        MessageBox.Show("Phone number saved.");
                        break;

                    //Logic for when the task was cancelled by the user
                    case TaskResult.Cancel:
                        MessageBox.Show("Save cancelled.");
                        break;

                    //Logic for when the number could not be saved
                    case TaskResult.None:
                        MessageBox.Show("Phone number could not be saved.");
                        break;
                }
            };
            savePhoneNumberTask.PhoneNumber = "15911162317";
            savePhoneNumberTask.Show();
        }
        /*
         * 如何使用 Windows Phone 保存铃声任务
         * http://msdn.microsoft.com/zh-CN/library/hh394008(v=vs.92)
         * 使用保存铃声任务,用户可以将音频文件保存到系统铃声列表中。
         * 此任务会启动“铃声”应用程序,其中用户可以保存铃声而且可以选择将其设置为默认铃声。
         * 将音频文件添加到该列表后,用户就可以在“联系人”应用程序中将其设置为各个联系人的铃声。
         * 铃声音频文件必须满足以下要求。
         *    文件类型必须为 MP3 或 WMA。
         *    文件大小必须小于 1 MB。
         *    文件播放的时长必须小于 40 秒。
         *    文件不得具有数字版权管理 (DRM) 保护。
         */
        private void Button_Click_10(object sender, RoutedEventArgs e)
        {
            SaveRingtoneTask saveRingtoneTask = new SaveRingtoneTask();
            saveRingtoneTask.Completed += (obj, taskEventArgs) =>
            {
                switch (taskEventArgs.TaskResult)
                {
                    //Logic for when the ringtone was saved successfully
                    case TaskResult.OK:
                        MessageBox.Show("Ringtone saved.");
                        break;

                    //Logic for when the task was cancelled by the user
                    case TaskResult.Cancel:
                        MessageBox.Show("Save cancelled.");
                        break;

                    //Logic for when the ringtone could not be saved
                    case TaskResult.None:
                        MessageBox.Show("Ringtone could not be saved.");
                        break;
                }
            };
            saveRingtoneTask.Source = new Uri("appdata:/myTone.wma");
            saveRingtoneTask.IsShareable = true;
            saveRingtoneTask.DisplayName = "my custom ringtone";
            try
            {
                saveRingtoneTask.Show();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
    }
}

PhoneAppChooser.rar

posted @ 2013-08-30 18:53  nil  阅读(211)  评论(0编辑  收藏  举报