Informações do dispositivo
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:
- DevicePlatform.Android
- DevicePlatform.iOS
- DevicePlatform.macOS
- DevicePlatform.MacCatalyst
- DevicePlatform.tvOS
- DevicePlatform.Tizen
- DevicePlatform.WinUI
- DevicePlatform.watchOS
- DevicePlatform.Unknown
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:
- DeviceIdiom.Phone
- DeviceIdiom.Tablet
- DeviceIdiom.Desktop
- DeviceIdiom.TV
- DeviceIdiom.Watch
- DeviceIdiom.Unknown
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.