Windows Phone 7 Dev 短信_电话_邮件

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

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

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

  现在我们的SDK中提供了6个Choosers和10 Launchers:

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

  Launchers:SmsComposeTask(发送短信),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();
< span style= "font-family:Arial;BACKGROUND-COLOR: #ffffff">< img alt= ""  src= "https://img-my.csdn.net/uploads/201205/01/1335860041_7395.gif"  />< /span>< /span>
< span style= "font-size:24px;">拨打电话:< /span>
< span style= "font-size:24px;"> //初始化 Microsoft.Phone.Tasks.PhoneCallTask 类的新实例。
PhoneCallTask callsomeone =  new PhoneCallTask();
//获取或设置启动“手机”应用程序时拨打的电话号码。
callsomeone.PhoneNumber =  "13477777777";
//获取或设置启动“手机”应用程序时显示的名称。
callsomeone.DisplayName =  "Wintelsui的私人电话";
//显示“手机”应用程序。
callsomeone.Show();
< /span>
< span style= "font-size:24px;">< img alt= ""  src= "https://img-my.csdn.net/uploads/201205/01/1335860095_2909.gif"  />< /span>
< span style= "font-size:24px;">发送邮件:< /span>
< span style= "font-size:24px;"> //实例EmailComposeTask对象sendemail
EmailComposeTask 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();
        }

  本文来自wintelsui的博客,原文地址:http://blog.csdn.net/wintelsui/article/details/7525878

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值