本文共 7975 字,大约阅读时间需要 26 分钟。
在开发 Windows Phone 应用时,系统提供了丰富的任务功能,能够帮助开发者快速实现常见需求。本文将详细介绍几种常用任务的使用方法,并提供实际代码示例。
地址选择器任务可以用于获取用户选择的联系人的物理地址。通过这种方式,用户可以启动“联系人”应用程序,选择一个联系人进行操作。
// 使用地址选择器任务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();} 相机拍摄任务允许用户从应用程序中使用内置相机拍摄照片。
// 使用相机拍摄任务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();} 电子邮件地址选择器任务可以用于获取用户选择的联系人的电子邮件地址。
// 使用电子邮件地址选择器任务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();} 游戏邀请任务可以用于发送游戏邀请,允许用户邀请其他玩家加入多人游戏。
// 使用游戏邀请任务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();} 电话号码选择器任务可以用于获取用户选择的联系人的电话号码。
// 使用电话号码选择器任务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();} 照片选择器任务可以用于从用户的设备中选择现有照片。
// 使用照片选择器任务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();} 保存联系人任务可以用于让用户通过应用程序保存联系人信息。
// 使用保存联系人任务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();} 保存电子邮件地址任务可以用于让用户保存电子邮件地址。
// 使用保存电子邮件地址任务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();} 保存电话号码任务可以用于让用户保存电话号码。
// 使用保存电话号码任务private void Button_Click_9(object sender, RoutedEventArgs e){ SavePhoneNumberTask savePhoneNumberTask = new SavePhoneNumberTask(); savePhoneNumberTask.Completed += (obj, taskEventArgs) => { switch (taskEventArgs.TaskResult) { // 逻辑:当号码成功保存时 case TaskResult.OK: MessageBox.Show("Phone number saved."); break; // 逻辑:当用户取消保存时 case TaskResult.Cancel: MessageBox.Show("Save cancelled."); break; // 逻辑:当号码不能保存时 case TaskResult.None: MessageBox.Show("Phone number could not be saved."); break; } }; savePhoneNumberTask.PhoneNumber = "15911162317"; savePhoneNumberTask.Show();} 保存铃声任务可以用于将音频文件保存到系统铃声列表中。
// 使用保存铃声任务private void Button_Click_10(object sender, RoutedEventArgs e){ SaveRingtoneTask saveRingtoneTask = new SaveRingtoneTask(); saveRingtoneTask.Completed += (obj, taskEventArgs) => { switch (taskEventArgs.TaskResult) { // 逻辑:当铃声成功保存时 case TaskResult.OK: MessageBox.Show("Ringtone saved."); break; // 逻辑:当用户取消保存时 case TaskResult.Cancel: MessageBox.Show("Save cancelled."); break; // 逻辑:当铃声不能保存时 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); }} 通过以上代码示例,开发者可以快速了解如何在 Windows Phone 应用中使用各种任务功能,并根据实际需求进行扩展和修改。希望这些建议对您有所帮助!
转载地址:http://xhefk.baihongyu.com/