Поделиться через


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

Просмотрите пример. Обзор примера

В этой статье описывается, как использовать интерфейс пользовательского интерфейса приложений .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.Name свойство в iOS 16 и более поздних версиях, а не универсальное имя устройства, ваше приложение должно соответствовать определенным критериям и быть назначено com.apple.developer.device-information.user-assigned-device-name право. Дополнительные сведения см com.apple.developer.device-information.user-assigned-device-name . в developer.apple.com.

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

Свойство 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
};

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

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

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