裝置資訊
本文說明如何使用 .NET 多平臺應用程式 UI (.NET MAUI) IDeviceInfo 介面來讀取應用程式執行裝置的相關信息。
介面的預設實作 IDeviceInfo
可透過 DeviceInfo.Current 屬性取得。 IDeviceInfo
介面和DeviceInfo
類別都包含在 命名空間中Microsoft.Maui.Devices
。
讀取裝置資訊
介面 IDeviceInfo
提供許多描述裝置的屬性,例如製造商和語式。 下列範例示範如何讀取裝置資訊屬性:
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();
}
若要透過 IDeviceInfo.Name iOS 16 和更新版本中的 屬性存取使用者指派的裝置名稱,而不是一般裝置名稱,您的應用程式必須符合特定準則並獲 com.apple.developer.device-information.user-assigned-device-name
指派權利。 如需詳細資訊,請參閱 com.apple.developer.device-information.user-assigned-device-name
developer.apple.com。
取得裝置平臺
屬性 IDeviceInfo.Platform
代表應用程式正在執行的作業系統。 此 DevicePlatform 類型會為每個作業系統提供屬性:
- DevicePlatform.Android
- DevicePlatform.iOS
- DevicePlatform.macOS
- DevicePlatform.MacCatalyst
- DevicePlatform.tvOS
- DevicePlatform.Tizen
- DevicePlatform.WinUI
- DevicePlatform.watchOS
- DevicePlatform.Unknown
下列範例示範如何檢查 屬性Android
是否符合IDeviceInfo.Platform操作系統:
private bool IsAndroid() =>
DeviceInfo.Current.Platform == DevicePlatform.Android;
取得裝置類型
屬性 IDeviceInfo.Idiom 代表應用程式正在執行的裝置類型,例如桌面電腦或平板電腦。 此 DeviceIdiom 類型會為每個裝置類型提供屬性:
- DeviceIdiom.Phone
- DeviceIdiom.Tablet
- DeviceIdiom.Desktop
- DeviceIdiom.TV
- DeviceIdiom.Watch
- DeviceIdiom.Unknown
下列範例示範如何 IDeviceInfo.Idiom
比較 值與 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");
}
裝置類型:
IDeviceInfo.DeviceType 屬性 列舉,以判斷應用程式是否在實體或虛擬裝置上執行。 虛擬裝置是模擬器 (Simulator) 還是模擬器 (Emulator)。
bool isVirtual = DeviceInfo.Current.DeviceType switch
{
DeviceType.Physical => false,
DeviceType.Virtual => true,
_ => false
};
平台差異
本節說明與裝置信息的平臺特定差異。
無平台差異。