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

私は同じ問題に苦しんでいます。参照: How to detect running on a real device?

残念ながらIsTypePresent、デスクトップでもGpioControllerクラスが返されます。true

于 2015-11-27T15:26:03.780 に答える