Informations sur l'appareil
Cet article présent comment vous pouvez utiliser l’interface IDeviceInfo .NET Multi-Platform App UI (.NET MAUI) pour lire des informations sur l’appareil sur lequel l’applicaiono s’exécute.
L’implémentation par défaut de l’interface IDeviceInfo
est disponible via la propriété DeviceInfo.Current. L’espace de noms Microsoft.Maui.Devices
contient à la fois l’interface IDeviceInfo
et la classe DeviceInfo
.
Lire les informations de l’appareil
L’interface IDeviceInfo
fournit de nombreuses propriétés qui décrivent l’appareil, telles que le fabricant et l’idiome. L’exemple suivant illustre la lecture des propriétés des informations de l’appareil :
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();
}
Pour accéder au nom d’appareil affecté par l’utilisateur via la propriété IDeviceInfo.Name dans iOS 16 et les versions ultérieures, au lieu du nom d’appareil générique, votre application doit répondre à certains critères et être affectée au droit com.apple.developer.device-information.user-assigned-device-name
. Pour plus d’informations, consultez com.apple.developer.device-information.user-assigned-device-name
sur developer.apple.com.
Obtenir la plateforme de l’appareil
La propriété IDeviceInfo.Platform
représente le système d’exploitation sur lequel l’application s’exécute. Le type DevicePlatform fournit une propriété pour chaque système d’exploitation :
- DevicePlatform.Android
- DevicePlatform.iOS
- DevicePlatform.macOS
- DevicePlatform.MacCatalyst
- DevicePlatform.tvOS
- DevicePlatform.Tizen
- DevicePlatform.WinUI
- DevicePlatform.watchOS
- DevicePlatform.Unknown
L’exemple suivant montre comment vérifier si la propriété IDeviceInfo.Platform correspond au système d’exploitation Android
:
private bool IsAndroid() =>
DeviceInfo.Current.Platform == DevicePlatform.Android;
Obtenir le type d’appareil
La propriété IDeviceInfo.Idiom représente le type d’appareil sur lequel l’application s’exécute, par exemple un ordinateur de bureau ou une tablette. Le type DeviceIdiom fournit une propriété pour chaque type d’appareil :
- DeviceIdiom.Phone
- DeviceIdiom.Tablet
- DeviceIdiom.Desktop
- DeviceIdiom.TV
- DeviceIdiom.Watch
- DeviceIdiom.Unknown
L’exemple suivant illustre la comparaison de la valeur IDeviceInfo.Idiom
à une propriété 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");
}
Type d’appareil
La propriété IDeviceInfo.DeviceType est mis en corrélation avec une énumération pour déterminer si l’application s’exécute sur un appareil physique ou virtuel. Un appareil virtuel est un simulateur ou un émulateur.
bool isVirtual = DeviceInfo.Current.DeviceType switch
{
DeviceType.Physical => false,
DeviceType.Virtual => true,
_ => false
};
Différences selon les plateformes
Cette section décrit les différences propres à la plateforme concernant les informations de l’appareil.
Aucune différence entre les plateformes.