Compartilhar via


Navegador

Browse sample. Navegue pelo exemplo

Este artigo descreve como você pode usar a interface .NET Multi-platform App UI (.NET MAUI). IBrowser Essa interface permite que um aplicativo abra um link da Web no navegador preferido do sistema ou no navegador externo.

A implementação padrão da interface está disponível por meio da IBrowserBrowser.Default propriedade. A interface e Browser a IBrowser classe estão contidas no Microsoft.Maui.ApplicationModel namespace.

Introdução

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 seu projeto estiver definida como Android 11 (R API 30) ou superior, você deverá atualizar o manifesto do Android com consultas que usam os requisitos de visibilidade do pacote do Android.

No arquivo Platforms/Android/AndroidManifest.xml adicione os seguintes queries/intent nós no manifest nó:

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

Abra o navegador

O navegador é aberto chamando o método com o e o IBrowser.OpenAsyncUri tipo de BrowserLaunchMode. O exemplo de código a seguir demonstra a abertura do navegador:

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

Esse método retorna depois que o navegador é iniciado, não depois que ele é fechado pelo usuário. Browser.OpenAsync Retorna um bool valor para indicar se o navegador foi iniciado com êxito.

Personalização

Se você estiver usando o navegador preferido do sistema, há várias opções de personalização disponíveis para iOS e Android. Essas opções incluem uma (somente Android) e uma TitleMode cor preferencial para as Toolbar cores (iOS e Android) e Controls (somente iOS) que aparecem.

Especifique essas opções usando BrowserLaunchOptions quando você chamar OpenAsynco .

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

Diferenças de plataforma

Esta seção descreve as diferenças específicas da plataforma com a API do navegador.

O BrowserLaunchOptions.LaunchMode determina como o navegador é iniciado:

  • SystemPreferred

    As guias personalizadas são usadas para carregar o URI e manter o reconhecimento de navegação.

  • External

    Um Intent é usado para solicitar que o URI seja aberto através do navegador normal do sistema.