本文描述了如何使用托管API在Windows Phone上打电话。 简介 本文的目的是为了以编程的方式打电话,有时应用程序有这样的要求。在这种情况下,我们使用Microsoft.Phone.Tasks命名空间下的PhoneCallTask来打电话。举个例子,我们通过自己的应用程序拨打电话。创建一个新的 Windows Phone Silverlight应用程序,添加一个按钮到Visual Studio生成的默认的XAML页面, <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0"> <Button Content="Phone Call" Height="82" HorizontalAlignment="Left" Margin="140,234,0,0" Name="btnCall" VerticalAlignment="Top" Width="auto" Click="btnCall_Click" /> </Grid> XAML将会产生一个如下所示的UI。 现在初始化PhoneCallTask,为了防止溢出内存,在构造函数中进行初始化。 PhoneCallTask phoneTask = null;// Constructor public MainPage() { InitializeComponent(); phoneTask = new PhoneCallTask(); } PhoneCallTask类包含了两个重要的属性,DisplayName, PhoneNumber,以及一个Show方法,Show方法会打开手机自带的打电话程序,用户可以通过该那个程序拨打电话。在设计器中双击Button来生成事件处理程序。在事件处理程序中设置DisplayName和PhoneNumber,并且调用Show()方法。请看下面的代码片段。 private void btnCall_Click(object sender, RoutedEventArgs e) { phoneTask.DisplayName = "Pavan Pareta"; phoneTask.PhoneNumber = "+911234567890"; // put your desired phone number here phoneTask.Show(); } 现在应用程序已经完成了。当用户点击按钮时,拨号的界面将会出现在界面上,用户只需点击call按钮来打电话即可。请看下面的屏幕截图。 源码: http://www.devdiv.com/Windows_Phone-%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8Windows_Phone_7%E6%89%93%E7%94%B5%E8%AF%9D-thread-126109-1-5.html 总结 简单来说PhoneCallTask会打开手机自带的打电话应用程序。