2015-11-14 125 views
3

当前,我找到了Windows.ApplicationModel.Calls API。无法打电话或启动不同的选项可用于从我的应用程序拨打电话。 而且我也尝试这个代码,但仍然不能实现电话呼叫功能,UWP的任何解决方案?谢谢。在Windows 10中拨打电话UWP

if (ApiInformation.IsApiContractPresent("Windows.ApplicationModel.Calls.CallsPhoneContract", 1,0)) 
{ 
    PhoneCallManager.ShowPhoneCallUI("0213132131", "my name"); 
} 
+0

那么如果你在if语句中设置了一个断点,调试器会告诉你什么?该块是否进入?如果不是,那么'IsApiContractPresent'返回false。 –

回答

3

线,

PhoneCallManager.ShowPhoneCallUI("0213132131", "my name"); 

只显示通话UI。它不打电话。

您应该使用Windows.ApplicationModel.Calls.PhoneLine.Dial拨打电话。看到这个参考https://msdn.microsoft.com/en-us/library/windows.applicationmodel.calls.phoneline.aspx

见这个例子https://github.com/Microsoft/Windows-universal-samples/blob/master/Samples/PhoneCall/cs/Helpers/CallingInfo.cs#L85

+0

嗨,我只是检查Windows.ApplicationModel.Calls.PhoneLine,但它似乎是Windows.ApplicationModel.Calls命名空间不包含PhoneLine – miskohut

+3

@miskohut的定义请检查您是否包含** Windows Mobile扩展的UWP **,因为电话是设备特定的。可能的重复[链接](http://stackoverflow.com/questions/36824967/uwp-class-phoneline-not-found) –

5

我来与正在仿真器的解决方案,我无法测试它在实际设备上,因为我不自己一个人。

PhoneCallStore PhoneCallStore = await PhoneCallManager.RequestStoreAsync(); 
Guid LineGuid = await PhoneCallStore.GetDefaultLineAsync(); 

PhoneLine = await PhoneLine.FromIdAsync(LineGuid); 
PhoneLine.Dial(phoneNumber, nameToBeDisplayed); 

您必须添加Windows Mobile Extentions for UWP到项目的引用以及申报程序清单PhoneCall能力。

+0

它适用于实际设备。但是,请记住在清单功能中添加PhoneCall,否则会崩溃 – litaoshen