热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

WindowsPhone7Dev短信_电话_邮件

还是从一个很失败的应用开始说起,我在业余时间会学这么点WindowsPhone开发,前段时间用了5个小时写了一个应用《移动短信营业厅》,话说这个应用和我的第一个《猜数字》比起来,简直

        还是从一个很失败的应用开始说起,我在业余时间会学这么点Windows Phone开发,前段时间用了5个小时写了一个应用《移动短信营业厅》,话说这个应用和我的第一个《猜数字》比起来,简直是弱爆了,核心代码只有四行:

SmsComposeTask sendsms = new SmsComposeTask();
sendsms.To = "10086";
sendsms.Body = "119";
sendsms.Show();

        Windows Phone的任何应用都是只能运行于自己的独立沙盒中,只能直接访问自己多对应的独立存储空间。在这里Windows Phone的设计之中,其实还是借鉴了iOS的设计的。就如新的Windows 8看到它的开始菜单,就好像是MacLaunchPad的样子。言归正传,Windows Phone的应用程序无法直接访问其他应用沙盒的常规数据,比如说我们今天的Windows Phone的通讯。我们不能再屏幕上只显示一句话:“短信发送中,正在拨通号码XXX,邮件发送中。。。。。。”之后就自动做这些通讯的事儿,但是在Android中我们却能看到这些。

        但是微软为我们提供了Choosers/Launchers框架让我们来间接使用这些。这样就防止了那些写吸费软件的公司,写一些在用户不知情的情况写发什么业务短信的程序,因为所有的短信,电话,最终都需要用户自己去决定是否发送信息,或拨打电话等等。通过Choosers/Launchers框架我们可以调用一个系统内置应用的API。那么ChoosersLaunchers的区别是什么呢,其实我们在这两个单词的意思上应该已经可以看出他们的相应作用,Choosers在应用调用后,可以返回一定的数据,比如我们的应用使用Choosers调用了联系人,在我们选择一个联系人后,会为我们将选择的联系人的相应信息返回给我们的应用程序;Launchers被调用后不会返回任何数据,比如我们使用launchers去执行一个打电话的操作,它就会调用拨号器,之后把电话号码填入拨号器,之后由用户选择是否拨打电话。

        现在我们的SDK中提供了6Choosers10 Launchers

ChoosersPhoneNumberChooserTask(电话号码选择器),EmailAddressChooserTaskE-mail地址选择器),PhotoChooserTask (照片选择器),CameraCaptureTask (摄像头选择器),SavePhoneNumberTask(保存电话号码选择器), SaveEmailAddressTask(保存电子邮件地址选择器)。

LaunchersSmsComposeTask(发送短信),PhoneCallTask(拨打电话),EmailComposeTask(发送电子邮件),MediaPlayerLauncher(媒体播放器),SearchTask(搜索),WebBrowserTask(打开浏览器),MarketplaceHubTask(应用商店),MarketplaceDetailTask(应用商店详情),MarketplaceReviewTask(应用商店评论),MarketplaceSearchTask(应用商店搜索)。

       Launchers的使用:

      发送短信:

      本文开始的时候我给出了四行代码,实例一个SmsComposeTask对象sendsms,设置发送至“10086” sendsms.To ="10086",内容为“119” sendsms.Body = "119",之后调用API打开短信面板sendsms.Show(),这样这个功能就完成了。

SmsComposeTask sendsms = new SmsComposeTask();
sendsms.To = "10086";
sendsms.Body = "119";
sendsms.Show();
拨打电话:
//初始化 Microsoft.Phone.Tasks.PhoneCallTask 类的新实例。PhoneCallTask callsomeOne= new PhoneCallTask();//获取或设置启动“手机”应用程序时拨打的电话号码。callsomeone.PhOneNumber= "13477777777";//获取或设置启动“手机”应用程序时显示的名称。callsomeone.DisplayName = "Wintelsui的私人电话";//显示“手机”应用程序。callsomeone.Show();
发送邮件:
//实例EmailComposeTask对象sendemailEmailComposeTask sendemail = new EmailComposeTask();//获取或设置新电子邮件中“收件人”行的收件人。sendemail.To = "wintelsui@gmail.com";//获取或设置新电子邮件的主题。sendemail.Subject = "HelloWintelsui";//获取或设置新电子邮件的正文。sendemail.Body = "这是详细内容";//显示“手机”应用程序。sendemail.Show();
由于在模拟器上不能设置账户,所以模拟器的发送邮件部分不能使用,所以暂不提供图片。
   Choosers的使用:
private void button4_Click(object sender, RoutedEventArgs e)
{
//初始化 Microsoft.Phone.Tasks.PhoneNumberChooserTask 类的新实例。
PhoneNumberChooserTask someOnesphonenumber= new PhoneNumberChooserTask();
//显示“联系人”应用程序。
someonesphonenumber.Show();
}

private void button5_Click(object sender, RoutedEventArgs e)
{
//初始化 Microsoft.Phone.Tasks.EmailAddressChooserTask 类的新实例。
EmailAddressChooserTask someOneemailaddress= new EmailAddressChooserTask();
//显示电子邮件地址选择器应用程序。
someoneemailaddress.Show();
}

private void button6_Click(object sender, RoutedEventArgs e)
{
//初始化 Microsoft.Phone.Tasks.SavePhoneNumberTask 类的新实例。
SavePhoneNumberTask savenumber = new SavePhoneNumberTask();
//获取或设置可以保存到联系人的电话号码。
savenumber.PhOneNumber= textBox1.Text.Trim();
//显示“联系人”应用程序。
savenumber.Show();
}

private void button7_Click(object sender, RoutedEventArgs e)
{
//初始化 Microsoft.Phone.Tasks.SavePhoneNumberTask 类的新实例。
SaveEmailAddressTask saveemailaddress = new SaveEmailAddressTask();
//类型:System.String。可以保存到联系人的电话号码。
saveemailaddress.Email = textBox1.Text.Trim();
//显示“联系人”应用程序。
saveemailaddress.Show();
}

 


推荐阅读
  • 本章将深入探讨移动 UI 设计的核心原则,帮助开发者构建简洁、高效且用户友好的界面。通过学习设计规则和用户体验优化技巧,您将能够创建出既美观又实用的移动应用。 ... [详细]
  • 本文介绍了Android开发中Intent的基本概念及其在不同Activity之间的数据传递方式,详细展示了如何通过Intent实现Activity间的跳转和数据传输。 ... [详细]
  • 在网站制作中随时可用的10个 HTML5 代码片段
    HTML很容易写,但创建网页时,您经常需要重复做同样的任务,如创建表单。在这篇文章中,我收集了10个超有用的HTML代码片段,有HTML5启动模板、空白图片、打电话和发短信、自动完 ... [详细]
  • 本文介绍如何使用 Android 的 Canvas 和 View 组件创建一个简单的绘图板应用程序,支持触摸绘画和保存图片功能。 ... [详细]
  • 本文介绍如何在C#中将GridView控件的内容保存为图片文件。通过代码示例,详细说明了创建位图、绘制图形并保存图像的步骤。 ... [详细]
  • 本文探讨了在通过 API 端点调用时,使用猫鼬(Mongoose)的 findOne 方法总是返回 null 的问题,并提供了详细的解决方案和建议。 ... [详细]
  • dotnet 通过 Elmish.WPF 使用 F# 编写 WPF 应用
    本文来安利大家一个有趣而且强大的库,通过F#和C#混合编程编写WPF应用,可以在WPF中使用到F#强大的数据处理能力在GitHub上完全开源Elmis ... [详细]
  • 本文介绍如何使用布局文件在Android应用中排列多行TextView和Button,使其占据屏幕的特定比例,并提供示例代码以帮助理解和实现。 ... [详细]
  • 分享一个简化版的Silverlight链接图项目:Link Map Simplified
    本文介绍了一个使用Silverlight开发的可视化工具,主要用于展示和操作复杂的实体关系图(Graph)。该工具在犯罪调查系统中得到了广泛应用,帮助用户直观地获取和理解相关信息。 ... [详细]
  • 本文探讨了2012年4月期间,淘宝在技术架构上的关键数据和发展历程。涵盖了从早期PHP到Java的转型,以及在分布式计算、存储和网络流量管理方面的创新。 ... [详细]
  • 在本教程中,我们将深入探讨如何使用 Python 构建游戏的主程序模块。通过逐步实现各个关键组件,最终完成一个功能完善的游戏界面。 ... [详细]
  • 国际高保真音乐流媒体平台的崛起:亚马逊与谷歌的竞争策略
    近期,亚马逊和谷歌正积极筹备推出高保真音乐流媒体服务,预计在2019年底前上线。根据市场研究机构CIRP的数据,截至2018年12月,美国智能音箱的安装量已增至6600万台,较第三季度增长显著。这一趋势对Spotify等传统流媒体平台构成了新的挑战。 ... [详细]
  • 在 Android 开发中,通过 Intent 启动 Activity 或 Service 时,可以使用 putExtra 方法传递数据。接收方可以通过 getIntent().getExtras() 获取这些数据。本文将介绍如何使用 RoboGuice 框架简化这一过程,特别是 @InjectExtra 注解的使用。 ... [详细]
  • 探讨ChatGPT在法律和版权方面的潜在风险及影响,分析其作为内容创造工具的合法性和合规性。 ... [详细]
  • 一个登陆界面
    预览截图html部分123456789101112用户登入1314邮箱名称邮箱为空15密码密码为空16登 ... [详细]
author-avatar
徐晨程东_324
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有