Condividi tramite


Browser

Browse sample. Esplorare l'esempio

Questo articolo descrive come usare l'interfaccia dell'interfaccia utente dell'app multipiattaforma .NET (.NET MAUI). IBrowser Questa interfaccia consente a un'applicazione di aprire un collegamento Web nel browser preferito dal sistema o nel browser esterno.

L'implementazione predefinita dell'interfaccia IBrowser è disponibile tramite la Browser.Default proprietà . Sia l'interfaccia che Browser la IBrowser classe sono contenute nello spazio dei Microsoft.Maui.ApplicationModel nomi .

Introduzione

Per accedere alla funzionalità del browser, è necessaria la configurazione specifica della piattaforma seguente.

Se la versione di Android di destinazione del progetto è impostata su Android 11 (API R 30) o versione successiva, è necessario aggiornare il manifesto Android con query che usano i requisiti di visibilità dei pacchetti android.

Nel file Platforms/Android/AndroidManifest.xml aggiungere i nodi seguenti queries/intent nel manifest nodo:

<queries>
  <intent>
    <action android:name="android.intent.action.VIEW" />
    <data android:scheme="http"/>
  </intent>
  <intent>
    <action android:name="android.intent.action.VIEW" />
    <data android:scheme="https"/>
  </intent>
</queries>

Aprire il browser

Il browser viene aperto chiamando il IBrowser.OpenAsync metodo con Uri e il tipo di BrowserLaunchMode. L'esempio di codice seguente illustra l'apertura del browser:

private async void BrowserOpen_Clicked(object sender, EventArgs e)
{
    try
    {
        Uri uri = new Uri("https://www.microsoft.com");
        await Browser.Default.OpenAsync(uri, BrowserLaunchMode.SystemPreferred);
    }
    catch (Exception ex)
    {
        // An unexpected error occurred. No browser may be installed on the device.
    }
}

Questo metodo viene restituito dopo l'avvio del browser, non dopo la chiusura da parte dell'utente. Browser.OpenAsync restituisce un bool valore per indicare se il browser è stato avviato correttamente.

Personalizzazione

Se si usa il browser preferito dal sistema, sono disponibili diverse opzioni di personalizzazione per iOS e Android. Queste opzioni includono un TitleMode colore (solo Android) e preferito per i Toolbar (solo iOS e Android) e Controls (solo iOS) visualizzati.

Specificare queste opzioni usando BrowserLaunchOptions quando si chiama OpenAsync.

private async void BrowserCustomOpen_Clicked(object sender, EventArgs e)
{
    try
    {
        Uri uri = new Uri("https://www.microsoft.com");
        BrowserLaunchOptions options = new BrowserLaunchOptions()
        {
            LaunchMode = BrowserLaunchMode.SystemPreferred,
            TitleMode = BrowserTitleMode.Show,
            PreferredToolbarColor = Colors.Violet,
            PreferredControlColor = Colors.SandyBrown
        };

        await Browser.Default.OpenAsync(uri, options);
    }
    catch (Exception ex)
    {
        // An unexpected error occurred. No browser may be installed on the device.
    }
}

Differenze tra le piattaforme

Questa sezione descrive le differenze specifiche della piattaforma con l'API del browser.

Determina BrowserLaunchOptions.LaunchMode la modalità di avvio del browser:

  • SystemPreferred

    Le schede personalizzate vengono usate per caricare l'URI e mantenere la consapevolezza dello spostamento.

  • External

    Viene Intent usato per richiedere l'apertura dell'URI tramite il normale browser del sistema.