Iniciar o app padrão para um URI

APIs importantes

Saiba como iniciar o app padrão para um URI (Uniform Resource Identifier). Os URIs permitem iniciar outro aplicativo para realizar uma tarefa específica. Este tópico também apresenta uma visão geral dos muitos esquemas de URI compilados no Windows. Você também pode iniciar URIs personalizados. Para obter mais informações sobre como registrar um esquema de URI personalizado e manipular a ativação do URI, consulte Manipular a ativação do URI.

Os esquemas de URI permitem abrir aplicativos clicando em hiperlinks. Assim como você pode iniciar um novo e-mail usando mailto:, você pode abrir o navegador da Web padrão usando http:

Este tópico descreve os seguintes esquemas de URI internos do Windows:

Esquema de URI Lançamentos
bingmaps:, ms-drive-to: e ms-walk-to: Aplicativos de mapa
http: Navegador da Web padrão
mailto: Aplicativo de email padrão
ms-call: Aplicativo de chamada
ms-chat: Aplicativo de mensagens
ms-people: Aplicativo de pessoas
ms-photos: Aplicativo Fotos
ms-settings: Aplicativo de configurações
ms-store: Aplicativo da Store
ms-tonepicker: Seletor de tons
ms-yellowpage: Aplicativo de números próximos
msnweather: Aplicativo de clima
microsoft-edge: Navegador Microsoft Edge

Por exemplo, o URI a seguir abre o navegador padrão e exibe o site do Bing.

https://bing.com

Você também pode iniciar esquemas de URI personalizados. Se não houver aplicativos instalados para manipular esse URI, você poderá recomendar um aplicativo para o usuário instalar. Para obter mais informações, consulte Recomendar um aplicativo se nenhum estiver disponível para manipular o URI.

Em geral, seu aplicativo não pode selecionar o aplicativo que é iniciado. O usuário determina qual aplicativo é iniciado. Mais de um aplicativo pode ser registrado para manipular o mesmo esquema de URI. A exceção a isso é para esquemas de URI reservados. Registros de esquemas de URI reservados são ignorados. Para obter a lista completa de esquemas de URI reservados, consulte Manipular a ativação do URI. Nos casos em que mais de um aplicativo pode ter registrado o mesmo esquema de URI, seu aplicativo pode recomendar um aplicativo específico a ser iniciado. Para obter mais informações, consulte Recomendar um aplicativo se nenhum estiver disponível para manipular o URI.

Chamar LaunchUriAsync para iniciar um URI

Use o método LaunchUriAsync para iniciar um URI. Quando você chama esse método, seu aplicativo deve ser o aplicativo em primeiro plano, ou seja, ele deve estar visível para o usuário. Esse requisito ajuda a garantir que o usuário permaneça no controle. Para atender a esse requisito, vincule todas as inicializações de URI diretamente à interface do usuário do seu aplicativo. O usuário sempre deve executar alguma ação para iniciar uma inicialização de URI. Se você tentar iniciar um URI e seu aplicativo não estiver em primeiro plano, a inicialização falhará e seu retorno de chamada de erro será invocado.

Primeiro, crie um objeto System.Uri para representar o URI e, em seguida, passe-o para o método LaunchUriAsync. Use o resultado de retorno para ver se a chamada foi bem-sucedida, conforme mostrado no exemplo a seguir.

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
   }
}

Em alguns casos, o sistema operacional solicitará que o usuário veja se ele realmente deseja trocar de aplicativo.

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.

Se você sempre quiser que essa solicitação ocorra, use a propriedade Windows.System.LauncherOptions.TreatAsUntrusted para dizer para o sistema operacional exibir um aviso.

// 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);

Recomendar um aplicativo se nenhum estiver disponível para manipular o URI

Em alguns casos, o usuário pode não ter um aplicativo instalado para manipular o URI que você está iniciando. Por padrão, o sistema operacional lida com esses casos fornecendo ao usuário um link para pesquisar um aplicativo apropriado na loja. Se você quiser dar ao usuário uma recomendação específica quanto a qual aplicativo adquirir nesse cenário, poderá fazê-lo passando essa recomendação com o URI que você está iniciando.

As recomendações também são úteis quando mais de um aplicativo se registra para manipular um esquema de URI. Ao recomendar um aplicativo específico, o Windows abrirá esse aplicativo se ele já estiver instalado.

Para fazer uma recomendação, chame o método Windows.System.Launcher.LaunchUriAsync(Uri, LauncherOptions) com LauncherOptions.preferredApplicationPackageFamilyName definido como o nome da família de pacotes do aplicativo na loja que você deseja recomendar. O sistema operacional usa essas informações para substituir a opção geral de procurar um aplicativo na loja por uma opção específica para adquirir o aplicativo recomendado na loja.

// 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);

Definir preferência de exibição restante

Os aplicativos de origem que chamam LaunchUriAsync podem solicitar que permaneçam na tela após uma inicialização de URI. Por padrão, o Windows tenta compartilhar todo o espaço disponível igualmente entre o aplicativo de origem e o aplicativo de destino que manipula o URI. Os aplicativos de origem podem usar a propriedade DesiredRemainingView para indicar ao sistema operacional que preferem que a janela do aplicativo ocupe mais ou menos espaço disponível. DesiredRemainingView também pode ser usado para indicar que o aplicativo de origem não precisa permanecer na tela após a inicialização do URI e pode ser completamente substituído pelo aplicativo de destino. Essa propriedade especifica apenas o tamanho preferencial da janela do aplicativo de chamada. Ela não especifica o comportamento de outros aplicativos que podem estar na tela ao mesmo tempo.

Observação O Windows leva em conta vários fatores diferentes ao determinar o tamanho final da janela do aplicativo de origem, por exemplo, a preferência do aplicativo de origem, o número de aplicativos na tela, a orientação da tela e assim por diante. Ao definir DesiredRemainingView, você não tem garantia de um comportamento de janela específico para o aplicativo de origem.

// 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);

Esquemas de URI

Os diversos esquemas de URI são descritos abaixo.

Esquema de URI do aplicativo de chamada

Use o esquema de URI ms-call: para iniciar o aplicativo de chamada.

Esquema de URI Resultado
ms-call:settings Página de configurações do aplicativo de chamada.

Esquema de URI de email

Use o esquema de URI mailto: para iniciar o aplicativo de email padrão.

Esquema de URI Resultados
mailto: Inicia o aplicativo de email padrão.
mailto:[email address] Inicia o aplicativo de email e cria uma nova mensagem com o endereço de email especificado na linha de destinatário. Observe que o e-mail não é enviado até que o usuário toque em enviar.

Esquema de URI de HTTP

Use o esquema de URI http: para iniciar o navegador da Web padrão.

Esquema de URI Resultados
http: Inicia o navegador da Web padrão.

Esquemas de URI do aplicativo Mapas

Use os esquemas de URI bingmaps:, ms-drive-to: e ms-walk-to: para iniciar o aplicativo Mapas do Windows em mapas, direções e resultados da busca específicos. Por exemplo, o URI a seguir abre o aplicativo Mapas do Windows e exibe um mapa centralizado sobre a cidade de Nova York.

bingmaps:?cp=40.726966~-74.006076

an example of the windows maps app.

Para saber mais, consulte Iniciar o aplicativo Mapas do Windows. Para usar o controle de mapeamento no seu próprio aplicativo, consulte Display maps with 2D, 3D, and Streetside views.

Esquema de URI do aplicativo de mensagens

Use o esquema de URI ms-chat: para iniciar o aplicativo Mensagens do Windows.

Esquema de URI Resultados
ms-chat: Inicia o aplicativo Mensagens.
ms-chat:?ContactID={contacted} Permite que o aplicativo de mensagens seja iniciado com as informações de um contato específico.
ms-chat:?Body={body} Permite que o aplicativo de mensagens seja iniciado com uma sequência para usar como o conteúdo da mensagem.
ms-chat:?Addresses={address}&Body={body} Permite que o aplicativo de mensagens seja iniciado com informações de um endereço específico e com uma sequência para usar como o conteúdo da mensagem. Nota: os endereços podem ser concatenados.
ms-chat:?TransportId={transportId} Permite que o aplicativo de mensagens seja iniciado com um ID de transporte específico.

Esquema de URI de seletor de tom

Use o esquema de URI ms-tonepicker: para escolher toques, alarmes e tons do sistema. Você também pode salvar novos toques e obter o nome de exibição de um tom.

Esquema de URI Resultados
ms-tonepicker: Escolha toques, alarmes e tons do sistema.

Os parâmetros são passados por meio de um ValueSet para a API LaunchURI. Consulte Escolher e salvar tons usando o esquema de URI ms-tonepicker para obter detalhes.

Esquema de URI do aplicativo Números próximos

Use o esquema de URI ms-yellowpage: para iniciar o aplicativo Números próximos.

Esquema de URI Resultados
ms-yellowpage:?input=[keyword]&method=[String or T9] Inicia o aplicativo Números próximos.
input refere-se à palavra-chave que você deseja pesquisar.
method refere-se ao tipo de pesquisa (sequência ou pesquisa T9).
Se method é T9 (um tipo de teclado), então keyword deve ser uma sequência numérica que mapeia para as letras de teclado T9 para pesquisar.
Se method é String, então keyword é a palavra-chave a ser pesquisada.

Esquema de URI do aplicativo Pessoas

Use o esquema de URI ms-people: para iniciar o aplicativo Pessoas. Para saber mais, consulte Iniciar o app Pessoas.

Esquema de URI do aplicativo Fotos

Use o esquema de URI ms-photos: para iniciar o aplicativo Fotos para visualizar uma imagem ou editar um vídeo. Por exemplo:
Para visualizar uma imagem: ms-photos:viewer?fileName=c:\users\userName\Pictures\image.jpg
Ou para editar um vídeo: ms-photos:videoedit?InputToken=123abc&Action=Trim&StartTime=01:02:03

Observação

Os URIs para editar um vídeo ou exibir uma imagem só estão disponíveis na área de trabalho.

Esquema de URI Resultados
ms-photos:viewer?fileName={filename} Inicia o aplicativo Fotos para visualizar a imagem especificada, em que {filename} é um nome de caminho totalmente qualificado. Por exemplo: c:\users\userName\Pictures\ImageToView.jpg
ms-photos:videoedit?InputToken={input token} Inicia o aplicativo Fotos no modo de edição de vídeo para o arquivo representado pelo token de arquivo. InputToken é necessário. Use o SharedStorageAccessManager para obter um token para um arquivo.
ms-photos:videoedit?Action={action} Um parâmetro que indica em qual modo de edição de vídeo será aberto o aplicativo Fotos, em que {action} é um das opções: SlowMotion, FrameExtraction, Trim, View, Ink. Action é necessária.
ms-photos:videoedit?StartTime={timespan} Um parâmetro opcional que especifica por onde começar a reproduzir o vídeo. {timespan} deve estar no formato "hh:mm:ss.ffff". Se não for especificado, o padrão será 00:00:00.0000

Esquema de URI do aplicativo Configurações

Use o esquema de URI ms-settings: para iniciar o aplicativo Configurações do Windows. Iniciar o aplicativo Configurações é uma parte importante da criação de um aplicativo com reconhecimento de privacidade. Se o aplicativo não conseguir acesso a um recurso confidencial, recomendamos fornecer ao usuário um link conveniente para as configurações de privacidade desse recurso. Por exemplo, o URI a seguir abre o aplicativo Configurações e exibe as configurações de privacidade da câmera.

ms-settings:privacy-webcam

camera privacy settings.

Para obter mais informações, consulte Iniciar o app Configurações do Windows e Diretrizes para aplicativos com reconhecimento de privacidade.

Esquema de URI do aplicativo Store

Use o esquema de URI ms-windows-store: para iniciar o aplicativo UWP. Abra páginas de detalhes de produtos, páginas de revisão de produtos e páginas de pesquisa etc. Por exemplo, o URI a seguir abre o aplicativo UWP e inicia a home page da Store.

ms-windows-store://home/

Para obter mais informações, consulte Iniciar o aplicativo UWP.

Esquema de URI do aplicativo Clima

Use o esquema de URI msnweather: para iniciar o aplicativo Clima.

Esquema de URI Resultados
msnweather://forecast?la=[latitude]&lo=[longitude] Inicia o aplicativo Clima na página Previsão com base nas coordenadas geográficas de uma localização.
latitude refere-se à latitude da localização.
longitude refere-se à longitude da localização.

Esquema de URI do Microsoft Edge

Use o esquema de URI microsoft-edge: para iniciar o navegador Microsoft Edge para uma URL especificada.

Esquema de URI Resultados
microsoft-edge:https://example.com/] Abre o navegador Microsoft Edge, navega até https://example.com/