Поделиться через


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 в обычном системном браузере.

API

Другие видео о Xamarin см. на Channel 9 и YouTube.