Xamarin.Essentials:Browser

La classe Browser consente a un'applicazione di aprire un collegamento Web nel browser preferito del sistema ottimizzato o in un browser esterno.

Operazioni preliminari

Per iniziare a usare questa API, leggere la guida introduttiva per Xamarin.Essentials assicurarsi che la libreria sia installata e configurata correttamente nei progetti.

Per accedere alla funzionalità Browser è necessaria la configurazione specifica della piattaforma seguente.

Se la versione di Android di destinazione del progetto è impostata su Android 11 (API R 30) è necessario aggiornare il manifesto Android con query usate con i nuovi requisiti di visibilità del pacchetto.

Aprire il file AndroidManifest.xml nella cartella Proprietà e aggiungere quanto segue all'interno del nodo manifest:

<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>

Uso di Browser

Aggiungere un riferimento a Xamarin.Essentials nella classe :

using Xamarin.Essentials;

La funzionalità Browser opera chiamando il metodo OpenAsync con Uri e BrowserLaunchMode.


public class BrowserTest
{
    public async Task OpenBrowser(Uri uri)
    {
        try
        {
            await Browser.OpenAsync(uri, BrowserLaunchMode.SystemPreferred);
        }
        catch(Exception ex)
        {
            // An unexpected error occured. No browser may be installed on the device.
        }
    }
}

Questo metodo restituisce il controllo dopo l'avvio del browser e non necessariamente dopo la chiusura del browser da parte dell'utente.

Personalizzazione

Quando si usa il browser preferito del sistema, sono disponibili diverse opzioni di personalizzazione per iOS e Android. Tra queste c'è TitleMode (solo Android) e le opzioni dei colori preferiti per la Toolbar (iOS e Android) e i Controls (solo iOS).

Queste opzioni vengono specificate usando BrowserLaunchOptions quando si chiama OpenAsync.

await Browser.OpenAsync(uri, new BrowserLaunchOptions
                {
                    LaunchMode = BrowserLaunchMode.SystemPreferred,
                    TitleMode = BrowserTitleMode.Show,
                    PreferredToolbarColor = Color.AliceBlue,
                    PreferredControlColor = Color.Violet
                });

Browser Options

Informazioni di implementazione specifiche della piattaforma

La modalità di avvio determina il modo in cui viene avviato il browser:

Preferita dal sistema

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

Esterna

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

API

Altri video di Xamarin sono disponibili su Channel 9 e YouTube.