2015-11-14 67 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