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