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 navegador , a configuração específica da plataforma a seguir é necessária.

Se a versão do Android de destino do projeto estiver definida como Android 11 (R API 30), você deverá atualizar seu Manifesto do Android com consultas que são 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.