Informações do dispositivo

Procurar amostra. Procurar no exemplo

Este artigo descreve como usar a interface IDeviceInfo DO .NET MAUI (.NET Multi-Platform App UI) para ler informações sobre o dispositivo em que o aplicativo está sendo executado.

A implementação padrão da interface IDeviceInfo está disponível por meio da propriedade DeviceInfo.Current. A interface IDeviceInfo e a classe DeviceInfo estão contidas no namespace Microsoft.Maui.Devices.

Ler informações do dispositivo

A interface IDeviceInfo fornece muitas propriedades que descrevem o dispositivo, como o fabricante e o idioma. O exemplo a seguir demonstra a leitura as propriedades das informações do dispositivo.

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();
}

Para acessar o nome do dispositivo atribuído pelo usuário por meio da propriedade IDeviceInfo.Name no iOS 16 e versões mais recentes, em vez do nome genérico do dispositivo, seu aplicativo deve atender a determinados critérios e receber o direito com.apple.developer.device-information.user-assigned-device-name. Para mais informações, veja com.apple.developer.device-information.user-assigned-device-name em developer.apple.com.

Obter a plataforma do dispositivo

A propriedade IDeviceInfo.Platform representa o sistema operacional em que o aplicativo está sendo executado. O tipo DevicePlatform fornece uma propriedade para cada sistema operacional:

O exemplo a seguir demonstra como verificar se a propriedade IDeviceInfo.Platform corresponde ao sistema operacional Android:

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

Obter o tipo de dispositivo

A propriedade IDeviceInfo.Idiom representa o tipo de dispositivo em que o aplicativo está sendo executado, como um computador desktop ou um tablet. O tipo DeviceIdiom fornece uma propriedade para cada tipo de dispositivo:

O exemplo a seguir demonstra como comparar o valor IDeviceInfo.Idiom a uma propriedade 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");
}

Tipo de dispositivo

Propriedade IDeviceInfo.DeviceType uma enumeração para determinar se o aplicativo está em execução em um dispositivo físico ou virtual. Um dispositivo virtual é um simulador ou emulador.

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

Diferenças de plataforma

Esta seção descreve as diferenças específicas com as informações do dispositivo.

Sem diferenças entre plataformas.