windows mobile5 电话、短信和电子邮件



  在Windows Mobile 2003中,如果要在.NET程序中拨打电话的话,就需要通过P/Invoke来调用API。到了Windows Mobile 5中,Microsoft.WindowsMobile.Telephony类库为我们提供了拨打电话的功能。

  在使用这个功能之前,我们必须添加Microsoft.WindowsMobile.Telephony引用。调用电话功能的代码如下:

Phone phone = new Phone();
phone.Talk("1234567");

  程序运行效果如下:



  Phone类的方法只有一个Talk方法,所以也只能简单的进行电话拨打。我们如果想实现一些复杂的功能,比如监视拨入的电话等,还需要去调用TAPI来实现。

  发送短信息和发送电子邮件都需要Microsoft.WindowsMobile.PocketOutlook类库的支持。PocketOutlook是一个很复杂的命名空间,包括对很多系统功能的支持,而支持发短信的类是SmsMessage。

public void SmsMessageSend()
{
    SmsMessage smsMessage = new SmsMessage();

    //Set the message body and recipient.
    smsMessage.Body = "Would you like to meet for lunch?";
    smsMessage.To.Add(new Recipient("John Doe", "2065550199"));
    smsMessage.RequestDeliveryReport = true;

    //Send the SMS message.
    smsMessage.Send();

    return;
}

  我们可以看到SmsMessage的Body属性是SMS短信的内容,而To属性,则是收件人的姓名和电话号码,因为支持多个收件人,所以在添加收件人的时候需要调用To属性的Add方法。RequestDeliveryReport属性是一个Bool值,设置是否要求得到发送报告。最后调用SmsMessage的Send方法。

  发送Email的代码与发送短信息的代码大致相似,但是需要使用的是EmailMessage类。

public void EmailSend()
{
    EmailMessage message = new EmailMessage();
    message.Subject = "The picture you requested";
    message.BodyText = "Attached is the picture we discussed";

    Recipient client = new Recipient("John","john@test.com");
    message.To.Add(client);

    Attachment image = new Attachment(" est.jpg");
    message.Attachments.Add(image);

    message.Send("ActiveSync");
}

  EmailMessage的Subject属性是电子邮件的标题,BodyText属性是邮件正文。To属性中可以添加收件人的名称和地址。我们还可以在Attachments属性中添加附件。最后我们调用Send方法。

联系人、约会和任务

  Windows Mobile中有三个很重要的程序:联系人、约会和任务。我们可以使用Microsoft.WindowsMobile.PocketOutlook类库,来调用系统中的联系人、约会和任务信息。我们可以通过自己的程序添加信息。

  我们先来看一下Microsoft.WindowsMobile.PocketOutlook命名空间中很重要的一个类OutlookSession。该类的一个对象就表示了一个Pocket Outlook 对象模块,以前我们需要调用POOM实现的功能,现在可以通过PocketOutlook来实现。

属性 说明Appointments 得到约会(Calendar)目录的信息。Contacts 得到联系人目录信息。EmailAccounts 得到Email帐号的集合。SmsAccount 得到SMS帐号的信息。Tasks 得到任务目录信息的集合。

  在使用OutlookSession的时候要先创建一个OutlookSession的对象,然后创建相应的对象并添加到OutlookSession相应属性中去。我们来看下边的例子。

OutlookSession session = new OutlookSession();

// 添加约会
Appointment appointment = new Appointment();
appointment.Subject = "test";
appointment.Body = "testtest";
appointment.Start = DateTime.Now;
appointment.End = new DateTime(2005, 7, 17, 16, 25, 0);

session.Appointments.Items.Add(appointment);

// 添加联系人
Contact contact = new Contact();
contact.FirstName = "John";
contact.LastName = "Lee";
contact.CompanyName = "Microsoft";
contact.Email1Address = "John@test.com";
contact.MobileTelephoneNumber = "1234567";
contact.IM1Address = "John@hotmail.com";

session.Contacts.Items.Add(contact);

// 添加任务
Task task = new Task();
task.Subject = "task1";
task.Body = "task1 body";

session.Tasks.Items.Add(task);

  我们创建Appointment、Contact和Task对象,然后设置相应的属性,然后添加到OutlookSession对象的相应的属性中。

其他新特性

  Windows Mobile 5除了支持上面的特性外,还支持一些其他的新特性。比如在图象显示方面,Windows Mobile 5支持DirectX 3D Mobile。.NET应用程序可以通过Microsoft.WindowsMobile.DirectX类库来调用D3D Mobile,而C++应用程序可以通过COM接口的方式来调用。

  在Windows Mobile设备上普遍使用的GPS全球定位系统也得到了更好的支持。Windows Mobile 5提供了GPS Intermediate Driver,使应用程序可以使用统一的API接口来调用GPS系统。

  Windows Mobile 5提供了一个叫做“ExitWindowsEx”的函数,允许软件重启操作系统。Pocket PC使用该函数可以重启系统,而Smartphone支持关机和重启两种功能。

  在数据库方面,SQL Mobile虽然被广泛使用,但是因为SQL Mobile没有被安装到ROM中。所以如果需要SQL Mobile就需要占用一部分RAM内存空间,对于一些轻量级的应用就显得不是很合适了。所以Windows Mobile中还包括一个轻量级的数据库EDB,该数据库是CEDB的升级。

写在最后

  在这篇文章里,我们领略了Windows Mobile 5为开发者提供的新特性。很多常用的特性都被加入到了API中。但是我们还要看到,许多新特性对于复杂的应用来说,还比较简单。如果想实现比较复杂的功能,还需要依靠自定义控件来实现。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值