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
});
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.
Esterno
Verrà usato un Intent
per richiedere l'apertura dell'URI tramite il browser normale del sistema.
API
Video correlato
Altri video di Xamarin sono disponibili su Channel 9 e YouTube.