Udostępnij za pośrednictwem


Informacje o urządzeniu

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

W tym artykule opisano sposób używania interfejsu użytkownika aplikacji wieloplatformowej platformy .NET (.NET MAUI) IDeviceInfo do odczytywania informacji o urządzeniu, na którym działa aplikacja.

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

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 przypisanego IDeviceInfo.Name przez użytkownika za pośrednictwem właściwości w systemie iOS 16 lub nowszym, a nie ogólnej nazwy urządzenia, aplikacja musi spełniać określone kryteria i mieć przypisane com.apple.developer.device-information.user-assigned-device-name uprawnienie. Aby uzyskać więcej informacji, zobacz com.apple.developer.device-information.user-assigned-device-name developer.apple.com.

Pobieranie platformy urządzeń

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

W poniższym przykładzie pokazano, czy właściwość jest zgodna IDeviceInfo.Platform z Android systemem operacyjnym:

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

Pobieranie typu 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 IDeviceInfo.Idiom wartości 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.

Brak różnic między platformami.