Información del dispositivo
En este artículo se describe cómo puedes usar la interfaz .NET Multi-platform App UI (.NET MAUI) IDeviceInfo para leer información sobre el dispositivo en el que se ejecuta la aplicación.
La implementación predeterminada de la interfaz IDeviceInfo
está disponible a través de la propiedad DeviceInfo.Current. Tanto la interfaz IDeviceInfo
como la clase DeviceInfo
están contenidas en el espacio de nombres Microsoft.Maui.Devices
.
Lectura de la información del dispositivo
La IDeviceInfo
interfaz proporciona muchas propiedades que describen el dispositivo, como el fabricante y la expresión. En el siguiente ejemplo se muestra cómo leer las propiedades de información del 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();
}
Obtención de la plataforma del dispositivo
La propiedad IDeviceInfo.Platform
representa el sistema operativo en el que se ejecuta la aplicación. El tipo DevicePlatform proporciona una propiedad para cada sistema operativo:
- DevicePlatform.Android
- DevicePlatform.iOS
- DevicePlatform.macOS
- DevicePlatform.MacCatalyst
- DevicePlatform.tvOS
- DevicePlatform.Tizen
- DevicePlatform.WinUI
- DevicePlatform.watchOS
- DevicePlatform.Unknown
En el ejemplo siguiente se muestra cómo comprobar si la propiedad IDeviceInfo.Platform coincide con el sistema operativo Android
:
private bool IsAndroid() =>
DeviceInfo.Current.Platform == DevicePlatform.Android;
Obtención del tipo de dispositivo
La propiedad IDeviceInfo.Idiom representa el tipo de dispositivo en el que se ejecuta la aplicación, como un equipo de escritorio o una tableta. El tipo DeviceIdiom proporciona una propiedad para cada tipo de dispositivo:
- DeviceIdiom.Phone
- DeviceIdiom.Tablet
- DeviceIdiom.Desktop
- DeviceIdiom.TV
- DeviceIdiom.Watch
- DeviceIdiom.Unknown
En el siguiente ejemplo se muestra la comparación del valor IDeviceInfo.Idiom
con una propiedad 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
La propiedad IDeviceInfo.DeviceType muestra una enumeración para determinar si la aplicación se ejecuta en un dispositivo físico o virtual. Un dispositivo virtual es un simulador o emulador.
bool isVirtual = DeviceInfo.Current.DeviceType switch
{
DeviceType.Physical => false,
DeviceType.Virtual => true,
_ => false
};
Diferencias entre plataformas
En esta sección se describen las diferencias específicas de la plataforma con la información del dispositivo.
No hay diferencias entre las plataformas.
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de