检测当前设备(UWP)是否支持共享UI

时间:2017-02-22 08:36:41

标签: c# uwp windows-10 share xbox

我使用c#/ xaml为Windows 10设备创建了一个UWP应用程序。在应用程序中,我有一个调用DataTransferManager.ShowShareUI()

的共享功能

这可以在桌面设备,平板电脑和移动设备上正常运行。但是在我的xbox上,上述方法不会启动共享UI。它也没有任何例外。在网上搜索了一下之后,我发现这个article表示xbox不支持共享合同。并且不显示共享UI。但这会给用户带来糟糕的体验。

所以我现在有两个选择

  1. 如果设备是xbox,则隐藏共享按钮
  2. 当用户点击共享时,会显示一个不支持该功能的弹出窗口
  3. 经过几个小时的搜索,我仍然没有找到一种可靠的方法来检测我的设备是否是xbox。 Microsoft不鼓励尝试识别设备类型。相反,我们应该使用ApiInformation.IsTypePresentApiInformation.IsApiContractPresent检查API是否受支持。有关详情,请查看here

    但在我的情况下,API存在。所以IsTypePresent返回true。我不确定在我的场景中我应该为IsApiContractPresent传递什么参数。

    简而言之,我需要一种可靠的方法来识别我的设备是否为xbox,或者确定我的设备是否支持共享UI。有谁知道怎么做?

1 个答案:

答案 0 :(得分:2)

Windows 10 RS1为IsSupported类引入DataTransferManager方法:Link

我相信您的Xbox设备已升级到RS1或更高版本,因此您可以使用此方法检测设备是否支持共享。

if (DataTransferManager.IsSupported())
{
      //Do sharing
}
else
{
      //Other thing
}