UWP使用Skype来拨打电话号码

时间:2016-01-13 21:42:21

标签: call uwp skype

我希望我的c#UWP App支持主叫号码。

当我在W10手机上时,我希望它使用W10 PhoneCall API正常(这是有效的)

Windows.ApplicationModel.Calls.PhoneCallManager.ShowPhoneCallUI(number, name);

但在W10桌面/ PC上我没有GSM提供商,所以我想,也许用Skype来拨号,用户按下。

这可能通过UWP吗?也许类似于打开网站:

await Windows.System.Launcher.LaunchUriAsync(new Uri(website));

1 个答案:

答案 0 :(得分:9)

是的,您可以使用Launch the default app for a URI从您的应用中打开Skype,这是对的。

关于Uri我们可以使用的问题,您可以参考Skype development

以下是示例代码,这将打开" Skype"并致电" Echo / Sound Test Service":

private async void OnClick(object sender, RoutedEventArgs e)
{
    var uriSkype = new Uri(@"Skype:echo123?call");

    // Set the option to show a warning
    var promptOptions = new Windows.System.LauncherOptions();
    promptOptions.TreatAsUntrusted = true;

    // Launch the URI
    var success = await Windows.System.Launcher.LaunchUriAsync(uriSkype, promptOptions);

    if (success)
    {
        // URI launched
    }
    else
    {
        // URI launch failed
    }
}

如果您想拨打电话号码,可以使用:

var uriSkype = new Uri(@"Skype:(number)?call");

或者你也可以通过skype id调用:

var uriSkype = new Uri(@"Skype:(skype id)?call");

此解决方案仅适用于PC上已安装Skype的情况。如果系统无法在您的PC上找到Skype,它将打开商店并显示已注册此协议的推荐应用程序。