2

我想知道如何确定设备是否属于 IoT 系列,在我的情况下是 Raspberry Pi 2,但我不需要知道它是否专门是 Raspberry,只是一个 IoT 设备。

我尝试了以下代码:

//if(ApiInformation.IsApiContractPresent("DevicesLowLevelContract ", 1))
if (ApiInformation.IsTypePresent("Windows.Devices.Gpio"))
{
    this.InitializeSensor();
    return;
}

在我的笔记本上两者都不会是真的,但在我的 Rasbperry Pi 上也不会是真的。有人有想法或知道如何正确地做吗?

4

3 回答 3

4

我希望该物业

Windows.System.Profile.AnalyticsInfo.VersionInfo.DeviceFamily

是您正在寻找的 - 它应该返回类似于"Windows.IoT"您的情况的东西,因为当我在桌面上的通用应用程序中检查它时它是"Windows.Desktop"并且在带有 Windows 10 Mobile(预览版)的手机上它是,嗯,"Windows.Mobile".

于 2015-07-26T12:30:27.727 回答
1

使用 ApiInformation.IsTypePresent,您正在寻找不是命名空间的类型。“Windows.Devices.Gpio”是一个命名空间。尝试使用带有“Windows.Devices.Gpio.GpioController”的方法。

我建议在此处使用 typeof 关键字以避免使用字符串。像这样:

ApiInformation.IsTypePresent(typeof(Windows.Devices.Gpio.GpioController).ToString());
于 2015-07-27T08:26:41.547 回答
0

我正在努力解决同样的问题,请参阅: 如何检测在真实设备上运行?

不幸的是,桌面上IsTypePresentGpioController课程也回归了。true

于 2015-11-27T15:26:03.780 回答