Condividi tramite


Informazioni sul dispositivo

Browse sample.Sfogliare l'esempio. Esplorare l'esempio

Questo articolo descrive come usare l'interfaccia utente multipiattaforma di .NET (.NET MAUI) IDeviceInfo per leggere le informazioni sul dispositivo in cui è in esecuzione l'app.

L'implementazione predefinita dell'interfaccia è disponibile tramite la proprietà . Sia l'interfaccia IDeviceInfo che la classe DeviceInfo sono contenute nel namespace Microsoft.Maui.Devices.

Leggere le informazioni sul dispositivo

L'interfaccia IDeviceInfo fornisce molte proprietà che descrivono il dispositivo, come il produttore e il tipo. L'esempio seguente illustra la lettura delle proprietà delle informazioni sul dispositivo:

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

Per accedere al nome del dispositivo assegnato dall'utente tramite la proprietà IDeviceInfo.Name in iOS 16 e versioni successive, anziché il nome del dispositivo generico, la tua app deve soddisfare determinati criteri e avere il diritto com.apple.developer.device-information.user-assigned-device-name. Per ulteriori dettagli, consultare la documentazione su com.apple.developer.device-information.user-assigned-device-name su developer.apple.com.

Ottieni la piattaforma del dispositivo

La proprietà IDeviceInfo.Platform rappresenta il sistema operativo su cui è in esecuzione l'app. Il tipo DevicePlatform fornisce una proprietà per ogni sistema operativo:

Nell'esempio seguente viene illustrato come verificare se la proprietà IDeviceInfo.Platform corrisponde al sistema operativo Android:

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

Ottenere il tipo di dispositivo

La IDeviceInfo.Idiom proprietà rappresenta il tipo di dispositivo su cui è in esecuzione l'app, ad esempio un computer desktop o un tablet. Il tipo DeviceIdiom fornisce una proprietà per ogni tipo di dispositivo:

Nell'esempio seguente viene illustrato il confronto del valore IDeviceInfo.Idiom con una proprietà 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");
}

Tipo di dispositivo

La proprietà IDeviceInfo.DeviceType è un'enumerazione che determina se l'applicazione è in esecuzione su un dispositivo fisico o virtuale. Un dispositivo virtuale è un simulatore o un emulatore.

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

Differenze tra le piattaforme

Questa sezione descrive le differenze specifiche della piattaforma con le informazioni sul dispositivo.

Non esistono differenze per questa piattaforma.