Geräteinformationen
In diesem Artikel wird beschrieben, wie Sie die .NET Multiplattform App UI (.NET MAUI) IDeviceInfo-Schnittstelle verwenden können, um Informationen über das Gerät zu lesen, auf dem die App ausgeführt wird.
Die Standardimplementierung der IDeviceInfo
-Schnittstelle ist über die Eigenschaft DeviceInfo.Current verfügbar. Sowohl die IDeviceInfo
-Schnittstelle als auch die DeviceInfo
-Klasse sind im Microsoft.Maui.Devices
-Namespace enthalten.
Geräteinformationen lesen
Die IDeviceInfo
-Schnittstelle bietet viele Eigenschaften, die das Gerät beschreiben, wie z. B. den Hersteller und das Idiom. Das folgende Beispiel demonstriert das Lesen der Geräteeigenschaften:
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();
}
Um auf den vom Benutzer zugewiesenen Gerätenamen über die IDeviceInfo.Name-Eigenschaft in iOS 16 und später zuzugreifen, muss Ihre App bestimmte Kriterien erfüllen und die com.apple.developer.device-information.user-assigned-device-name
-Berechtigung zugewiesen bekommen. Weitere Informationen finden Sie unter com.apple.developer.device-information.user-assigned-device-name
unter developer.apple.com.
Abrufen der Geräteplattform
Die Eigenschaft IDeviceInfo.Platform
steht für das Betriebssystem, auf dem die App läuft. Der DevicePlatform-Typ stellt eine Eigenschaft für jedes Betriebssystem bereit:
- DevicePlatform.Android
- DevicePlatform.iOS
- DevicePlatform.macOS
- DevicePlatform.MacCatalyst
- DevicePlatform.tvOS
- DevicePlatform.Tizen
- DevicePlatform.WinUI
- DevicePlatform.watchOS
- DevicePlatform.Unknown
Das folgende Beispiel zeigt, wie geprüft wird, ob die Eigenschaft IDeviceInfo.Platform mit dem Betriebssystem Android
übereinstimmt:
private bool IsAndroid() =>
DeviceInfo.Current.Platform == DevicePlatform.Android;
Abfrage des Gerätetyps
Die IDeviceInfo.Idiom-Eigenschaft steht für die Art des Geräts, auf dem die App ausgeführt wird, z. B. ein Desktop-Computer oder ein Tablet. Der Typ DeviceIdiom bietet eine Eigenschaft für jede Art von Gerät:
- DeviceIdiom.Phone
- DeviceIdiom.Tablet
- DeviceIdiom.Desktop
- DeviceIdiom.TV
- DeviceIdiom.Watch
- DeviceIdiom.Unknown
Das folgende Beispiel zeigt den Vergleich des Wertes IDeviceInfo.Idiom
mit einer DeviceIdiom
-Eigenschaft:
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");
}
Gerätetyp
IDeviceInfo.DeviceType entspricht einer Enumeration, um festzustellen, ob die Anwendung auf einem physischen oder virtuellen Gerät ausgeführt wird. Ein virtuelles Gerät ist ein Simulator oder Emulator.
bool isVirtual = DeviceInfo.Current.DeviceType switch
{
DeviceType.Physical => false,
DeviceType.Virtual => true,
_ => false
};
Plattformunterschiede
In diesem Abschnitt werden die plattformspezifischen Unterschiede mit den Geräteinformationen beschrieben.
Keine Plattformunterschiede.