Xamarin.Essentials:デバイス情報
DeviceInfo クラスでは、アプリケーションが実行されているデバイスに関する情報が提供されます。
作業開始
この API の使用を始めるには、Xamarin.Essentials の概要ガイドを読み、ライブラリが正しくインストールされてプロジェクトに設定されていることを確認してください。
DeviceInfo の使用
クラスの Xamarin.Essentials への参照を追加します。
using Xamarin.Essentials;
API では次の情報が公開されます。
// Device Model (SMG-950U, iPhone10,6)
var device = DeviceInfo.Model;
// Manufacturer (Samsung)
var manufacturer = DeviceInfo.Manufacturer;
// Device Name (Motz's iPhone)
var deviceName = DeviceInfo.Name;
// Operating System Version Number (7.0)
var version = DeviceInfo.VersionString;
// Platform (Android)
var platform = DeviceInfo.Platform;
// Idiom (Phone)
var idiom = DeviceInfo.Idiom;
// Device Type (Physical)
var deviceType = DeviceInfo.DeviceType;
プラットフォーム
DeviceInfo.Platform
は、オペレーティング システムにマップされる定数文字列に対応します。 値は次の DevicePlatform
構造体で確認できます。
- DevicePlatform.iOS – iOS
- DevicePlatform.Android – Android
- DevicePlatform.UWP – UWP
- DevicePlatform.Unknown – 不明
表示形式
DeviceInfo.Idiom
は、アプリケーションが実行されているデバイスの種類にマップされる文字列定数に対応します。 値は次の DeviceIdiom
構造体で確認できます。
- DeviceIdiom.Phone – 電話
- DeviceIdiom.Tablet – タブレット
- DeviceIdiom.Desktop – デスクトップ
- DeviceIdiom.TV – テレビ
- DeviceIdiom.Watch – 腕時計
- DeviceIdiom.Unknown – 不明
デバイスの種類
DeviceInfo.DeviceType
は、アプリケーションが物理デバイスまたは仮想デバイスのどちらで実行されているかを示す列挙型に対応します。 仮想デバイスは、シミュレーターやエミュレーターです。
プラットフォームの実装の詳細
iOS では、特定の iOS デバイスのモデルを取得するための API は開発者に対して公開されていません。 代わりに、iPhone X を示す iPhone10,6 のようなハードウェア識別子が返されます。これらの識別子のマッピングは Apple では提供されていませんが、これらの (非公式ソースの) iPhone Wiki および iOS モデルの取得で確認できます。