Geräteinformationen

Beispiel durchsuchen.Durchsuchen Sie das Beispiel

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:

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:

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.