检测当前设备 (UWP) 是否支持共享 UI
Detect if share UI is supported in current device (UWP)
我已经使用 c#/xaml 为 windows 10 台设备创建了一个 UWP 应用程序。在应用程序中,我有一个调用 DataTransferManager.ShowShareUI()
的共享功能
这在台式机、平板电脑和移动设备上按预期工作。但是在我的 xbox 上,上述方法不会启动共享 UI。它也不会抛出任何异常。在网上搜索了一下后,我发现这个 article 说 xbox 不支持共享合同。并且没有显示分享UI。但这会带来糟糕的用户体验。
所以我现在有两个选择
- 如果设备是 xbox,则隐藏分享按钮
- 或者当用户点击共享时,显示一个不支持该功能的弹出窗口
经过几个小时的搜索,我仍然没有找到检测我的设备是否为 xbox 的可靠方法。 Microsoft 不鼓励尝试识别设备类型。相反,我们应该使用 ApiInformation.IsTypePresent
或 ApiInformation.IsApiContractPresent
检查是否支持 API。有关详细信息,请查看 here
但就我而言,存在 API。所以 IsTypePresent returns 为真。我不确定在我的场景中应该为 IsApiContractPresent 传递什么参数。
简而言之,我需要一种可靠的方法来确定我的设备是否为 xbox 或确定我的设备是否支持共享 UI。有人知道怎么做吗?
Windows 10 RS1 为 DataTransferManager
Class 引入了 IsSupported
方法:Link
我相信你的Xbox设备已经升级到RS1或更高版本,所以你可以用这个方法来检测设备是否支持共享。
if (DataTransferManager.IsSupported())
{
//Do sharing
}
else
{
//Other thing
}
我已经使用 c#/xaml 为 windows 10 台设备创建了一个 UWP 应用程序。在应用程序中,我有一个调用 DataTransferManager.ShowShareUI()
这在台式机、平板电脑和移动设备上按预期工作。但是在我的 xbox 上,上述方法不会启动共享 UI。它也不会抛出任何异常。在网上搜索了一下后,我发现这个 article 说 xbox 不支持共享合同。并且没有显示分享UI。但这会带来糟糕的用户体验。
所以我现在有两个选择
- 如果设备是 xbox,则隐藏分享按钮
- 或者当用户点击共享时,显示一个不支持该功能的弹出窗口
经过几个小时的搜索,我仍然没有找到检测我的设备是否为 xbox 的可靠方法。 Microsoft 不鼓励尝试识别设备类型。相反,我们应该使用 ApiInformation.IsTypePresent
或 ApiInformation.IsApiContractPresent
检查是否支持 API。有关详细信息,请查看 here
但就我而言,存在 API。所以 IsTypePresent returns 为真。我不确定在我的场景中应该为 IsApiContractPresent 传递什么参数。
简而言之,我需要一种可靠的方法来确定我的设备是否为 xbox 或确定我的设备是否支持共享 UI。有人知道怎么做吗?
Windows 10 RS1 为 DataTransferManager
Class 引入了 IsSupported
方法:Link
我相信你的Xbox设备已经升级到RS1或更高版本,所以你可以用这个方法来检测设备是否支持共享。
if (DataTransferManager.IsSupported())
{
//Do sharing
}
else
{
//Other thing
}