Xamarin.Essentials:Обозреватель
Класс Browser позволяет приложению открыть веб-ссылку в предпочитаемом браузере оптимизированной системы или внешнем браузере.
Начало работы
Чтобы начать использовать этот API, ознакомьтесь с руководством по началу работы с Xamarin.Essentials, чтобы правильно настроить и установить библиотеку в проектах.
Для доступа к функции Browser нужно создать описанную ниже конфигурацию для конкретной платформы.
Если целевой версией Android для проекта является Android 11 (API R 30), необходимо обновить манифест Android с помощью запросов, которые используются с новыми требованиями к видимости пакета.
Откройте файл AndroidManifest.xml в папке Properties и добавьте приведенный ниже код в узел manifest:
<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>
Использование класса Browser
Добавьте ссылку на Xamarin.Essentials в своем классе:
using Xamarin.Essentials;
Чтобы использовать функции класса Browser, вызовите метод OpenAsync
с параметрами Uri
и 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.
}
}
}
Этот метод возвращает значение при запуске (и не обязательно закрытии) браузера пользователем.
Пользовательская настройка
При использовании предпочтительного браузера в системе есть несколько вариантов настройки, доступных для iOS и Android. Сюда входят TitleMode
(только Android) и параметры цвета для Toolbar
(iOS и Android) и Controls
(только iOS).
Эти параметры задаются с помощью BrowserLaunchOptions
при вызове OpenAsync
.
await Browser.OpenAsync(uri, new BrowserLaunchOptions
{
LaunchMode = BrowserLaunchMode.SystemPreferred,
TitleMode = BrowserTitleMode.Show,
PreferredToolbarColor = Color.AliceBlue,
PreferredControlColor = Color.Violet
});
Особенности реализации для платформ
Режим запуска определяет, как запускается браузер:
Предпочитаемый режим системы
Браузер будет пытаться использовать пользовательские вкладки для загрузки URI и учета текущей навигации.
Внешняя.
С помощью Intent
будет запрошено открытие Uri в обычном системном браузере.