对于以前Windows mobile上关于SMS、Phone、Email、Camera等的开发经验都已经无效了,因为WP7根本就没有提供直接操作这些的API。但是这并不等于不能做,因为在WP7中而是可以通过Task来调用系统的任务来完成的, 也就是说要打开系统的相关应用来拨打电话、发送短信、保存联系人、拍照等。
另外由于是调用系统的应用,也就是在自已的程序中要打开另外一个程序,因为WP7系统是单任务系统,所以当Task启动后,自已的应用程序就会被终止。
如果是在debug中,可以通过按F5继续调试;在应用中,因为程序已经有了Tombstone,所以调用Task不需要自已再唤起程序了,但是相关的状态需要自已来维护。
一.Phone Task:是用来在应用中,打开拨号界面的Task.可以直接拨打电话,并可以设置联系人姓名和所拨打的电话。
PhoneCallTask phonecall = new PhoneCallTask();
phonecall.DisplayName = "小镇";
phonecall.PhoneNumber = "13567890000";
phonecall.Show();
二.SMS Task:可以打开系统SMS程序,并设置所要发的短信内容和发送人,也可以发送彩信,但是看起来好像只能发图片,不知道真机上是不是可以发声音文件和其他文件。
SmsComposeTask sms = new SmsComposeTask();
sms.Body = "Test sms";
sms.To = "13567890000";
sms.Show();
三.Save Phone Number Task :可以调用联系人程序,将设置的电话号码保存到选中的联系人或新建联系人。
SavePhoneNumberTask SavePhoneNumber = new SavePhoneNumberTask();
SavePhoneNumber.PhoneNumber = "15888812345";
SavePhoneNumber.Completed += new EventHandler<TaskEventArgs>(SavePhoneNumber_Completed);
SavePhoneNumber.Show();