Browser
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:
-
Le schede personalizzate vengono usate per caricare l'URI e mantenere la consapevolezza dello spostamento.
-
Viene
Intent
usato per richiedere l'apertura dell'URI tramite il normale browser del sistema.