首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在代码中识别设备是否为Surface Hub?

如何在代码中识别设备是否为Surface Hub?
EN

Stack Overflow用户
提问于 2017-05-12 11:41:56
回答 2查看 290关注 0票数 0

最近,我们已经开始扩展我们的应用程序来支持Surface Hub(55英寸和84英寸)。在许多地方,我们为Hub设计了一组完全不同的UI,因此需要识别设备是不是Surface Hub,以便我们可以显示特定的UI。

我研究了各种设备识别/输入Apis,但不幸的是,它们都不能提供识别设备的线索。

我不完全记得了,但我猜我在某个地方读到过,现在UWP SDK不允许开发人员识别特定的设备类型,因为UWP应用程序预计可以在所有类型的Win 10运行的设备上运行-可能有人可以证实这一点。然而,由于集线器的分辨率比普通的台式机/平板电脑设备要高得多,我确信可以使用VisualState触发器来操作各种UI。

不过,如果我能在我的应用程序开始运行之前就能识别出设备是否是Surface Hub,那就太好了,更像是识别当前设备上是否存在触摸功能。

希望有人能帮我找到一个合理的解决方案!

EN

回答 2

Stack Overflow用户

发布于 2017-05-12 11:49:08

This article多次建议Surface Hub拥有自己的设备家族,但this article表示,只有针对通用设备家族的应用程序才能在Surface Hub上运行,并且没有提到Surface Hub设备家族或某种数字白板设备家族,该设备将宣传自己是其中的一部分。

但是,有一个名为Windows.System.Profile.Shared​Mode​Settings的类,它包含一个IsEnabled属性,该属性在装有a certain policy enabled或Surface Hub的PC上仅返回true。将其与VisualState触发器甚至Windows.Devices.Input.TouchCapabilities.TouchPresent结合使用,可能是使用特征检测来确定设备是否是表面集线器的最接近方法。

票数 0
EN

Stack Overflow用户

发布于 2017-05-12 13:55:10

代码语言:javascript
复制
if(AnalyticsInfo.VersionInfo.DeviceFamily == "Windows.Team")
{
    // surface hub
}

有一些方法可以为每个设备系列定制UI。是的,一个是设备触发器。或者,您可以拥有曲面轮毂的完全独立的视图(XAML)。

例如,您可以在app.xaml.cs处选择主视图:

代码语言:javascript
复制
rootFrame = new Frame();
if(AnalyticsInfo.VersionInfo.DeviceFamily == "Windows.Team")
{
    // surface hub
    rootFrame.Navigate(typeof(MainPageForSurfaceHub), e.Arguments)
}
else
{
    rootFrame.Navigate(typeof(MainPage), e.Arguments)
}

下面的演示文稿将对您有所帮助。

Surface Hub: Building Windows Universal Apps for Surface Hub and the Large Screen

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43928919

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档