Xamarin.Essentials:Navegador

A classe Browser permite que um aplicativo abra um link da Web no navegador preferido do sistema otimizado ou no navegador externo.

Introdução

Para começar a usar essa API, leia o guia de introdução para Xamarin.Essentials garantir que a biblioteca esteja instalada e configurada corretamente em seus projetos.

Para acessar a funcionalidade do navegador , é necessária a seguinte configuração específica da plataforma.

Se a versão do Android de destino do projeto estiver definida como Android 11 (API R 30), você deverá atualizar o manifesto do Android com consultas usadas com os novos requisitos de visibilidade do pacote.

Abra o arquivo AndroidManifest.xml na pasta Propriedades e adicione o seguinte dentro do nó do manifesto:

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

Adicione uma referência a Xamarin.Essentials em sua classe:

using Xamarin.Essentials;

A funcionalidade Browser funciona chamando o método OpenAsync com 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.
        }
    }
}

Esse método retorna depois que o navegador foi iniciado e não necessariamente fechado pelo usuário.

Personalização

Ao usar o navegador preferencial do sistema, existem várias opções de personalização disponíveis para iOS e Android. Isso inclui um TitleMode (somente Android) e opções de cores preferenciais para a Toolbar (iOS e Android) e os Controls (somente iOS) que são exibidos.

Essas opções são especificadas usando BrowserLaunchOptions ao chamar OpenAsync.

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

Opções de navegador

Particularidades de implementação da plataforma

O Modo de Inicialização determina como o navegador é iniciado:

Sistema preferido

As guias personalizadas tentarão ser usadas para carregar o Uri e manter o reconhecimento de navegação.

Externo

Uma Intent será usada para solicitar o Uri que será aberto por meio do navegador normal dos sistemas.

API

Encontre mais vídeos sobre o Xamarin no Channel 9 e no YouTube.