Informacje o urządzeniu

Browse sample.Przeglądaj przykład. Przeglądanie przykładu

W tym artykule opisano, jak można używać interfejsu .NET MAUI do odczytywania informacji o urządzeniu, na którym działa aplikacja.

Domyślna implementacja interfejsu IDeviceInfo jest dostępna za pośrednictwem właściwości DeviceInfo.Current. Zarówno interfejs IDeviceInfo, jak i klasa DeviceInfo, są zawarte w przestrzeni nazw Microsoft.Maui.Devices.

Odczytywanie informacji o urządzeniu

Interfejs IDeviceInfo udostępnia wiele właściwości, które opisują urządzenie, takie jak producent i idiom. W poniższym przykładzie pokazano odczytywanie właściwości informacji o urządzeniu:

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();
}

Aby uzyskać dostęp do nazwy urządzenia przypisanej przez użytkownika za pośrednictwem właściwości w systemie iOS 16 lub nowszym, zamiast ogólnej nazwy urządzenia, aplikacja musi spełniać określone kryteria i mieć przypisane uprawnienie com.apple.developer.device-information.user-assigned-device-name. Aby uzyskać więcej informacji, zobacz com.apple.developer.device-information.user-assigned-device-name na developer.apple.com.

Uzyskaj platformę urządzenia

Właściwość IDeviceInfo.Platform reprezentuje system operacyjny, na którym działa aplikacja. Typ DevicePlatform udostępnia właściwość specyficzną dla każdego z systemów operacyjnych.

Poniższy przykład demonstruje sprawdzanie, czy właściwość IDeviceInfo.Platform pasuje do systemu operacyjnego Android.

private bool IsAndroid() =>
    DeviceInfo.Current.Platform == DevicePlatform.Android;

Pobierz typ urządzenia

Właściwość IDeviceInfo.Idiom reprezentuje typ urządzenia, na którym działa aplikacja, na przykład komputer stacjonarny lub tablet. Typ DeviceIdiom udostępnia właściwość dla każdego typu urządzenia:

W poniższym przykładzie pokazano porównanie wartości IDeviceInfo.Idiom z właściwością 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");
}

Typ urządzenia

IDeviceInfo.DeviceType właściwość wyliczenie w celu określenia, czy aplikacja jest uruchomiona na urządzeniu fizycznym lub wirtualnym. Urządzenie wirtualne jest symulatorem lub emulatorem.

bool isVirtual = DeviceInfo.Current.DeviceType switch
{
    DeviceType.Physical => false,
    DeviceType.Virtual => true,
    _ => false
};

Różnice między platformami

W tej sekcji opisano różnice specyficzne dla platformy dotyczące informacji o urządzeniu.

  • Android
  • Katalizator systemu iOS/Mac
  • Windows

Brak różnic między platformami.