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

4

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

在桌面、平板和移动设备上,这个功能正常工作。但是在我的xbox上,上述方法无法启动共享界面,也不会抛出任何异常。在网上搜索了一下,我找到了这篇article文章,说xbox不支持共享协议,并且不显示共享界面。但这会给用户带来不好的体验。

所以现在我有两个选择

  1. 如果设备是xbox,则隐藏共享按钮
  2. 或者当用户点击分享时,显示一个弹出窗口,说明该功能不受支持

经过数小时的搜索,我仍然没有找到一种可靠的方法来检测我的设备是否为Xbox。微软不鼓励尝试识别设备类型。相反,我们应该使用ApiInformation.IsTypePresentApiInformation.IsApiContractPresent来检查API是否受支持。有关更多信息,请查看此处

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

简而言之,我需要一种可靠的方法,要么识别我的设备是否为Xbox,要么识别我的设备是否支持分享UI。有人知道如何做到这一点吗?

1个回答

2

Windows 10 RS1引入了DataTransferManager类的IsSupported方法:链接

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

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接