Navegador
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 IBrowser
Browser.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 OpenAsync
o .
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:
-
As guias personalizadas são usadas para carregar o URI e manter o reconhecimento de navegação.
-
Um
Intent
é usado para solicitar que o URI seja aberto através do navegador normal do sistema.