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
});
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
Vídeo relacionados
Encontre mais vídeos sobre o Xamarin no Channel 9 e no YouTube.