Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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.