Запуск приложения по умолчанию для URI

Важные API

Узнайте, как запустить приложение по умолчанию для универсального идентификатора ресурса (URI). URI позволяют запускать другое приложение для выполнения определенной задачи. В этом разделе также представлен обзор многих схем URI, встроенных в Windows. Вы также можете запустить пользовательские URI. Дополнительные сведения о регистрации пользовательской схемы URI и обработке активации URI см. в разделе "Обработка активации URI".

Схемы URI позволяют открывать приложения, щелкнув гиперссылки. Так же, как можно запустить новое сообщение электронной почты с помощью mailto:, вы можете открыть веб-браузер по умолчанию с помощью http:

В этом разделе описываются следующие схемы URI, встроенные в Windows:

Схема URI Запускает
bingmaps:, ms-drive-to:, и ms-walk-to: приложение Карты
http: Веб-браузер по умолчанию
Mailto: Приложение электронной почты по умолчанию
ms-call: Вызов приложения
ms-chat: Приложение для обмена сообщениями
ms-people: приложение Люди
ms-photos: Приложение "Фотографии"
ms-settings: приложение Параметры
ms-store: Приложение Store
ms-tonepicker: Средство выбора тонов
ms-yellowpage: Приложение "Рядом с номерами"
msnweather: Приложение погоды
Microsoft-edge: Браузер Microsoft Edge

Например, следующий URI открывает браузер по умолчанию и отображает веб-сайт Bing.

https://bing.com

Вы также можете запустить пользовательские схемы URI. Если для обработки этого универсального кода ресурса (URI) не установлено, можно рекомендовать пользователю установить приложение. Дополнительные сведения см. в статье "Рекомендация приложения, если он недоступен для обработки URI".

Как правило, приложение не может выбрать запущенное приложение. Пользователь определяет, какое приложение запускается. Несколько приложений могут регистрироваться для обработки одной схемы URI. Исключением из этого является зарезервированная схема URI. Регистрация зарезервированных схем URI игнорируется. Полный список зарезервированных схем URI см. в разделе "Обработка активации URI". В случаях, когда несколько приложений, возможно, зарегистрировали одну и ту же схему URI, ваше приложение может рекомендовать запустить определенное приложение. Дополнительные сведения см. в статье "Рекомендация приложения, если он недоступен для обработки URI".

Вызов LaunchUriAsync для запуска URI

Используйте метод LaunchUriAsync для запуска URI. При вызове этого метода приложение должно быть приложением переднего плана, то есть оно должно быть видимым для пользователя. Это требование помогает гарантировать, что пользователь остается под контролем. Чтобы выполнить это требование, убедитесь, что все URI запускается непосредственно с пользовательским интерфейсом приложения. Пользователь всегда должен предпринять некоторые действия для запуска URI. Если вы пытаетесь запустить универсальный код ресурса (URI) и приложение не на переднем плане, запуск завершится ошибкой, и обратный вызов ошибки будет вызван.

Сначала создайте объект System.Uri для представления URI, а затем передайте его в метод LaunchUriAsync. Используйте результат возврата, чтобы узнать, выполнен ли вызов успешно, как показано в следующем примере.

private async void launchURI_Click(object sender, RoutedEventArgs e)
{
   // The URI to launch
   var uriBing = new Uri(@"http://www.bing.com");

   // Launch the URI
   var success = await Windows.System.Launcher.LaunchUriAsync(uriBing);

   if (success)
   {
      // URI launched
   }
   else
   {
      // URI launch failed
   }
}

В некоторых случаях операционная система предложит пользователю узнать, хотите ли они переключить приложения.

a warning dialog overlayed on a grayed out background of the app. the dialog asks the user if they want to switch apps and has ‘yes’ and ‘no’ buttons in the bottom right. the ‘no’ button is highlighted.

Если вы всегда хотите, чтобы этот запрос выполнялся, используйте свойство Windows.System.LauncherOptions.TreatAsUntrusted , чтобы сообщить операционной системе, что позволит отобразить предупреждение.

// The URI to launch
var uriBing = new Uri(@"http://www.bing.com");

// Set the option to show a warning
var promptOptions = new Windows.System.LauncherOptions();
promptOptions.TreatAsUntrusted = true;

// Launch the URI
var success = await Windows.System.Launcher.LaunchUriAsync(uriBing, promptOptions);

Рекомендуется использовать приложение, если он недоступен для обработки URI

В некоторых случаях у пользователя может быть не установлено приложение для обработки запускаемого URI. По умолчанию операционная система обрабатывает эти случаи, предоставляя пользователю ссылку для поиска соответствующего приложения в магазине. Если вы хотите предоставить пользователю определенную рекомендацию для получения приложения в этом сценарии, вы можете сделать это, передав эту рекомендацию вместе с URI, которую вы запускаете.

Рекомендации также полезно, если для обработки схемы URI зарегистрировано несколько приложений. Порекомендуя определенное приложение, Windows откроет это приложение, если оно уже установлено.

Чтобы сделать рекомендацию, вызовите метод Windows.System.Launcher.LaunchUriAsync(Uri, LauncherOptions) с LauncherOptions.preferredApplicationPackageFamilyName , указав имя семейства пакетов приложения в магазине, которое вы хотите рекомендовать. Операционная система использует эту информацию для замены общего параметра для поиска приложения в магазине с определенным параметром для получения рекомендуемого приложения из магазина.

// Set the recommended app
var options = new Windows.System.LauncherOptions();
options.PreferredApplicationPackageFamilyName = "Contoso.URIApp_8wknc82po1e";
options.PreferredApplicationDisplayName = "Contoso URI Ap";

// Launch the URI and pass in the recommended app
// in case the user has no apps installed to handle the URI
var success = await Windows.System.Launcher.LaunchUriAsync(uriContoso, options);

Установка остальных предпочтений представления

Исходные приложения, вызывающие LaunchUriAsync, могут запросить, что они остаются на экране после запуска URI. По умолчанию Windows пытается совместно использовать все доступное пространство между исходным приложением и целевым приложением, обрабатывающим URI. Исходные приложения могут использовать свойство DesiredRemainingView , чтобы указать операционной системе, что они предпочитают, чтобы их окно приложения занимает больше или меньше доступного места. DesiredRemainingView также можно использовать для указания того, что исходное приложение не должно оставаться на экране после запуска URI и может быть полностью заменено целевым приложением. Это свойство указывает только предпочтительный размер окна вызывающего приложения. Он не указывает поведение других приложений, которые могут также находиться на экране одновременно.

Обратите внимание, что Windows учитывает несколько различных факторов при определении окончательного размера окна исходного приложения, например предпочтения исходного приложения, количества приложений на экране, ориентации экрана и т. д. Задав DesiredRemainingView, вы не гарантируете определенное поведение в окне для исходного приложения.

// Set the desired remaining view.
var options = new Windows.System.LauncherOptions();
options.DesiredRemainingView = Windows.UI.ViewManagement.ViewSizePreference.UseLess;

// Launch the URI
var success = await Windows.System.Launcher.LaunchUriAsync(uriContoso, options);

Схемы URI

Ниже описаны различные схемы URI.

Схема URI для вызова приложения

Используйте схему ms-call: URI для запуска приложения вызова.

Схема URI Результат
ms-call:settings Вызывает страницу параметров приложения.

Схема URI электронной почты

Используйте схему mailto: URI для запуска почтового приложения по умолчанию.

Схема URI Результаты
почты: Запускает приложение электронной почты по умолчанию.
mailto:[адрес электронной почты] Запускает почтовое приложение и создает новое сообщение с указанным адресом электронной почты в строке "To". Обратите внимание, что сообщение электронной почты не отправляется, пока пользователь не нажимает кнопку отправки.

Схема URI HTTP

Используйте схему http: URI для запуска веб-браузера по умолчанию.

Схема URI Результаты
http: Запускает веб-браузер по умолчанию.

схемы URI приложения Карты

Используйте схемы bingmaps:, ms-drive-to:и ms-walk-to: схемы URI для запуска приложения Карты Windows для конкретных карт, направлений и результатов поиска. Например, следующий универсальный код ресурса (URI) открывает приложение Карты Windows и отображает карту, центрированную по нью-йорку.

bingmaps:?cp=40.726966~-74.006076

an example of the windows maps app.

См. сведения в руководстве по запуску приложения "Карты Windows". Сведения об использовании элемента управления картой в собственном приложении см. в разделе "Отображение карт" с представлениями 2D, 3D и Streetside.

Схема URI приложения для обмена сообщениями

Используйте схему ms-chat: URI для запуска приложения обмена сообщениями Windows.

Схема URI Результаты
ms-chat: Запускает приложение для обмена сообщениями.
ms-chat:? ContactID={contacted} Позволяет запускать приложение для обмена сообщениями с данными конкретного контакта.
ms-chat:? Body={body} Позволяет запускать приложение обмена сообщениями со строкой, используемой в качестве содержимого сообщения.
ms-chat:? Addresss={address}&Body={body} Позволяет приложению обмена сообщениями запускаться с информацией о конкретных адресах и строкой, используемой в качестве содержимого сообщения. Примечание. Адреса можно объединить.
ms-chat:? TransportId={transportId} Позволяет запускать приложение обмена сообщениями с определенным идентификатором транспорта.

Схема URI средства выбора тонов

Используйте схему ms-tonepicker: URI для выбора мелодий, предупреждений и системных тонов. Вы также можете сохранить новые мелодии звонка и получить отображаемое имя тона.

Схема URI Результаты
ms-tonepicker: Выберите мелодии звонка, будильники и системные тоны.

Параметры передаются через ValueSet в API LaunchURI. Дополнительные сведения см. в разделе "Выбор и сохранение тонов" с помощью схемы URI ms-tonepicker.

Схема URI приложения "Ближайшие номера"

Используйте схему URI ms-yellowpage, чтобы запустить приложение Nearby Numbers.

Схема URI Результаты
ms-yellowpage:?input=[ключевое слово]&method=[String или T9] Запускает приложение "Номера рядом".
inputссылается на ключевое слово, которую требуется выполнить поиск.
method относится к типу поиска (строка или поиск T9).
Если method это T9 (тип клавиатуры), keyword то должна быть числовая строка, которая сопоставляется с буквами клавиатуры T9 для поиска.
Если method это Stringkeyword ключевое слово для поиска.

схема URI приложения Люди

Используйте схему URI ms-people для запуска приложения Люди. Дополнительные сведения см. в разделе "Запуск приложения Люди".

Схема URI приложения "Фотографии"

Используйте схему ms-photo: URI для запуска приложения "Фотографии", чтобы просмотреть изображение или изменить видео. Например:
Чтобы просмотреть изображение, выполните приведенные ниже действия. ms-photos:viewer?fileName=c:\users\userName\Pictures\image.jpg
Или изменить видео: ms-photos:videoedit?InputToken=123abc&Action=Trim&StartTime=01:02:03

Примечание.

URI для редактирования видео или отображения изображения доступны только на рабочем столе.

Схема URI Результаты
ms-photos:viewer?fileName={filename} Запускает приложение "Фотографии", чтобы просмотреть указанное изображение, где {filename} является полным именем пути. Например: c:\users\userName\Pictures\ImageToView.jpg
ms-photo:videoedit? InputToken={входной токен} Запускает приложение "Фотографии" в режиме редактирования видео для файла, представленного маркером файла. Требуется inputToken . Используйте shared служба хранилища AccessManager, чтобы получить маркер для файла.
ms-photo:videoedit? Action={action} Параметр, указывающий режим редактирования видео для открытия приложения "Фотографии", в котором {action} является одним из следующих: SlowMotion, FrameExtraction, Trim, View, Ink. Требуется действие .
ms-photo:videoedit? StartTime={timespan} Необязательный параметр, указывающий, где начать воспроизведение видео. {timespan} должен быть в формате "hh:mm:ss.ffff". Если значение не указано, по умолчанию используется значение 00:00:00.0000

схема URI приложения Параметры

Используйте схему ms-settings: URI для запуска приложения windows Параметры. Запуск приложения Параметры является важной частью написания приложения с учетом конфиденциальности. Если приложение не может получить доступ к конфиденциальному ресурсу, рекомендуется предоставить пользователю удобную ссылку на параметры конфиденциальности для этого ресурса. Например, следующий URI открывает приложение Параметры и отображает параметры конфиденциальности камеры.

ms-settings:privacy-webcam

camera privacy settings.

Дополнительные сведения см. в разделе "Запуск приложения Windows Параметры и рекомендаций для приложений с поддержкой конфиденциальности".

Схема URI приложения Магазина

Используйте схему URI ms-windows-store , чтобы запустить приложение UWP. Откройте страницы сведений о продукте, страницы проверки продукта и страницы поиска и т. д. Например, следующий URI открывает приложение UWP и запускает домашнюю страницу Магазина.

ms-windows-store://home/

Дополнительные сведения см. в разделе "Запуск приложения UWP".

Схема URI приложения погоды

Используйте схему msnweather: URI для запуска приложения Weather.

Схема URI Результаты
msnweather://forecast?la=[широта]&lo=[долгота] Запускает приложение "Погода" на странице прогноза на основе географических координат расположения.
latitude ссылается на широту расположения.
longitude ссылается на долготу расположения.

Схема URI Microsoft Edge

Используйте схему microsoft-edge: URI для запуска браузера Microsoft Edge на указанный URL-адрес.

Схема URI Результаты
microsoft-edge:https://example.com/] Открывает браузер Microsoft Edge и переходит к https://example.com/