Informazioni sul dispositivo
Questo articolo descrive come usare l'interfaccia dell'interfaccia dell'interfaccia dell'app multipiattaforma .NET (.NET MAUI) IDeviceInfo per leggere le informazioni sul dispositivo in cui è in esecuzione l'app.
L'implementazione predefinita dell'interfaccia IDeviceInfo
è disponibile tramite la DeviceInfo.Current proprietà . Sia l'interfaccia che DeviceInfo
la IDeviceInfo
classe sono contenute nello spazio dei Microsoft.Maui.Devices
nomi .
Leggere le informazioni sul dispositivo
L'interfaccia IDeviceInfo
fornisce molte proprietà che descrivono il dispositivo, ad esempio il produttore e il linguaggio. L'esempio seguente illustra la lettura delle proprietà delle informazioni sul 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();
}
Per accedere al nome del dispositivo assegnato dall'utente tramite la IDeviceInfo.Name proprietà in iOS 16 e versioni successive, anziché il nome del dispositivo generico, l'app deve soddisfare determinati criteri e avere il com.apple.developer.device-information.user-assigned-device-name
diritto. Per altre informazioni, vedere com.apple.developer.device-information.user-assigned-device-name
developer.apple.com.
Ottenere la piattaforma del dispositivo
La IDeviceInfo.Platform
proprietà rappresenta il sistema operativo in cui è in esecuzione l'app. Il DevicePlatform tipo fornisce una proprietà per ogni sistema operativo:
- DevicePlatform.Android
- DevicePlatform.iOS
- DevicePlatform.macOS
- DevicePlatform.MacCatalyst
- DevicePlatform.tvOS
- DevicePlatform.Tizen
- DevicePlatform.WinUI
- DevicePlatform.watchOS
- DevicePlatform.Unknown
Nell'esempio seguente viene illustrato il controllo se la IDeviceInfo.Platform proprietà corrisponde al Android
sistema operativo:
private bool IsAndroid() =>
DeviceInfo.Current.Platform == DevicePlatform.Android;
Ottenere il tipo di dispositivo
La IDeviceInfo.Idiom proprietà rappresenta il tipo di dispositivo in cui è in esecuzione l'app, ad esempio un computer desktop o un tablet. Il DeviceIdiom tipo fornisce una proprietà per ogni tipo di dispositivo:
- DeviceIdiom.Phone
- DeviceIdiom.Tablet
- DeviceIdiom.Desktop
- DeviceIdiom.TV
- DeviceIdiom.Watch
- DeviceIdiom.Unknown
Nell'esempio seguente viene illustrato il confronto del IDeviceInfo.Idiom
valore con una DeviceIdiom
proprietà :
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 di dispositivo
IDeviceInfo.DeviceType proprietà un'enumerazione per determinare se l'applicazione è in esecuzione in un dispositivo fisico o virtuale. Un dispositivo virtuale è un simulatore o un emulatore.
bool isVirtual = DeviceInfo.Current.DeviceType switch
{
DeviceType.Physical => false,
DeviceType.Virtual => true,
_ => false
};
Differenze tra le piattaforme
Questa sezione descrive le differenze specifiche della piattaforma con le informazioni sul dispositivo.
Non esistono differenze per questa piattaforma.