Сведения об устройстве

Browse sample. Обзор примера

В этой статье описывается, как использовать интерфейс пользовательского интерфейса приложений .NET (.NET MAUI) IDeviceInfo для чтения сведений об устройстве, на котором работает приложение.

Реализация интерфейса по умолчанию IDeviceInfo доступна через DeviceInfo.Current свойство. Интерфейс IDeviceInfo и DeviceInfo класс содержатся в Microsoft.Maui.Devices пространстве имен.

Чтение сведений об устройстве

Интерфейс IDeviceInfo предоставляет множество свойств, описывающих устройство, например изготовитель и идиом. В следующем примере показано чтение свойств сведений об устройстве:

private void ReadDeviceInfo()
{
    System.Text.StringBuilder sb = new System.Text.StringBuilder();

    sb.AppendLine($"Model: {DeviceInfo.Current.Model}");
    sb.AppendLine($"Manufacturer: {DeviceInfo.Current.Manufacturer}");
    sb.AppendLine($"Name: {DeviceInfo.Current.Name}");
    sb.AppendLine($"OS Version: {DeviceInfo.Current.VersionString}");
    sb.AppendLine($"Idiom: {DeviceInfo.Current.Idiom}");
    sb.AppendLine($"Platform: {DeviceInfo.Current.Platform}");

    bool isVirtual = DeviceInfo.Current.DeviceType switch
    {
        DeviceType.Physical => false,
        DeviceType.Virtual => true,
        _ => false
    };

    sb.AppendLine($"Virtual device? {isVirtual}");

    DisplayDeviceLabel.Text = sb.ToString();
}

Получение платформы устройств

Свойство IDeviceInfo.Platform представляет операционную систему, в которую запущено приложение. Тип DevicePlatform предоставляет свойство для каждой операционной системы:

В следующем примере показано проверка, если IDeviceInfo.Platform свойство соответствует операционной системеAndroid:

private bool IsAndroid() =>
    DeviceInfo.Current.Platform == DevicePlatform.Android;

Получение типа устройства

Свойство IDeviceInfo.Idiom представляет тип устройства, на котором выполняется приложение, например настольный компьютер или планшет. Тип DeviceIdiom предоставляет свойство для каждого типа устройства:

В следующем примере показано сравнение IDeviceInfo.Idiom значения со свойством DeviceIdiom :

private void PrintIdiom()
{
    if (DeviceInfo.Current.Idiom == DeviceIdiom.Desktop)
        Console.WriteLine("The current device is a desktop");
    else if (DeviceInfo.Current.Idiom == DeviceIdiom.Phone)
        Console.WriteLine("The current device is a phone");
    else if (DeviceInfo.Current.Idiom == DeviceIdiom.Tablet)
        Console.WriteLine("The current device is a Tablet");
}

Тип устройства

IDeviceInfo.DeviceType свойство перечисления, определяющее, работает ли приложение на физическом или виртуальном устройстве. Виртуальное устройство является симулятором или эмулятором.

bool isVirtual = DeviceInfo.Current.DeviceType switch
{
    DeviceType.Physical => false,
    DeviceType.Virtual => true,
    _ => false
};

Различия между платформами

В этом разделе описываются различия платформы с сведениями об устройстве.

Различия платформ отсутствуют.