Informacje o urządzeniu
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:
- DevicePlatform.Android
- DevicePlatform.iOS
- DevicePlatform.macOS
- DevicePlatform.MacCatalyst
- DevicePlatform.tvOS
- DevicePlatform.Tizen
- DevicePlatform.WinUI
- DevicePlatform.watchOS
- DevicePlatform.Unknown
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:
- DeviceIdiom.Phone
- DeviceIdiom.Tablet
- DeviceIdiom.Desktop
- DeviceIdiom.TV
- DeviceIdiom.Watch
- DeviceIdiom.Unknown
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.