Iniciar la aplicación predeterminada para un URI

API importantes

Aprende a iniciar la aplicación predeterminada de un identificador de recursos uniforme (URI). Los URI te permiten iniciar otra aplicación para realizar una tarea específica. En este tema también se proporciona una descripción general de los muchos esquemas de URI integrados en Windows. También puedes iniciar URI personalizados. Para obtener más información sobre cómo registrar un esquema de URI personalizado y controlar la activación de URI, consulta Controlar la activación de URI.

Los esquemas de URI permiten abrir aplicaciones haciendo clic en hipervínculos. Del mismo modo que puedes iniciar un nuevo correo electrónico usando mailto:, puedes abrir el navegador web predeterminado usando http:

En este tema se describen los siguientes esquemas de URI integrados en Windows:

Esquema de URI Lanzamientos
bingmaps:, ms-drive-to: y ms-walk-to: Aplicación Mapas
http: Navegador web predeterminado
mailto: Aplicación de correo electrónico predeterminada
ms-call: Llamada a la app
ms-chat: Aplicación Mensajes
ms-people: Aplicación Contactos
ms-photos: Aplicación Fotos
ms-settings: Aplicación Configuración
ms-store: Aplicación Store
ms-tonepicker: Selector de tono
ms-yellowpage: Aplicación Números cercanos
msnweather: Aplicación Tiempo
microsoft-edge: Navegador Microsoft Edge

Por ejemplo, el siguiente URI abre el navegador predeterminado y muestra el sitio web de Bing.

https://bing.com

También puedes iniciar esquemas de URI personalizados. Si no hay ninguna aplicación instalada para controlar ese URI, puedes recomendar una aplicación para que el usuario la instale. Para obtener más información, consulta Recomendar una aplicación si no hay una disponible para controlar el URI.

En general, la aplicación no puede seleccionar la aplicación que se inicia. El usuario determina qué aplicación se inicia. Más de una aplicación puede registrarse para controlar el mismo esquema de URI. La excepción son los esquemas de URI reservados. Los registros de esquemas de URI reservados se ignoran. Para obtener la lista completa de esquemas de URI reservados, consulta Controlar la activación de URI. En los casos en los que más de una aplicación haya registrado el mismo esquema de URI, la aplicación puede recomendar que se inicie una aplicación específica. Para obtener más información, consulta Recomendar una aplicación si no hay una disponible para controlar el URI.

Llamar a LaunchUriAsync para iniciar un URI

Usar el método LaunchUriAsync para iniciar un URI. Al llamar a este método, la aplicación debe ser la aplicación que se encuentra en primer plano; es decir, debe ser visible para el usuario. Este requisito ayuda a garantizar que el usuario mantienen el control. Para cumplir con este requisito, asegúrate de vincular todos los lanzamientos de URI directamente a la interfaz de usuario de la aplicación. El usuario siempre debe realizar alguna acción para iniciar un lanzamiento de URI. Si intenta lanzar un URI y la aplicación no está en primer plano, se producirá un error de lanzamiento y se invocará la devolución de llamada de error.

En primer lugar, crea un objeto System.Uri que represente el URI y, a continuación, pásalo al método LaunchUriAsync. Usa el resultado devuelto para ver si la llamada se realizó correctamente, como se muestra en el siguiente ejemplo.

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

En algunos casos, el sistema operativo pedirá al usuario que compruebe si realmente quiere cambiar de aplicación.

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.

Si quieres que esta consulta se produzca siempre, usa la propiedad Windows.System.LauncherOptions.TreatAsUntrusted para indicar al sistema operativo que muestre una advertencia.

// 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 una aplicación si no hay una disponible para controlar el URI

En algunos casos, es posible que el usuario no tenga instalada una aplicación para controlar el URI que se está iniciando. Por defecto, el sistema operativo controla estos casos proporcionando al usuario un vínculo para que pueda buscar una aplicación adecuada en la tienda. Si quieres ofrecer al usuario una recomendación específica en relación a la aplicación a adquirir en este escenario, puedes hacerlo pasando esa recomendación junto con el URI que estás iniciando.

Las recomendaciones también son útiles cuando se ha registrado más de una aplicación para controlar un esquema de URI. Al recomendar una aplicación específica, Windows abrirá esa aplicación en caso de estar ya instalada.

Para realizar una recomendación, llama al método Windows.System.Launcher.LaunchUriAsync(Uri, LauncherOptions) con LauncherOptions.preferredApplicationPackageFamilyName indicando el nombre de familia de paquete de la aplicación en la tienda que deseas recomendar. El sistema operativo utiliza esta información para reemplazar la opción general de buscar una aplicación en la tienda por una opción específica que permite adquirir en la tienda la aplicación recomendada.

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

Establecer la preferencia de vista restante

Las aplicaciones de origen que llaman a LaunchUriAsync pueden solicitar permanecer en pantalla después de iniciar un URI. De manera predeterminada, Windows intenta compartir todo el espacio disponible de forma equitativa entre la aplicación de origen y la aplicación de destino que controla el URI. Las aplicaciones de origen pueden usar la propiedad DesiredRemainingView para indicar al sistema operativo que prefieren que su ventana de aplicación ocupe más o menos espacio disponible. DesiredRemainingView también se puede usar para indicar que la aplicación de origen no necesita permanecer en pantalla después del inicio del URI y puede reemplazarse por completo por la aplicación de destino. Esta propiedad solo especifica el tamaño de ventana preferido de la aplicación que llama. No especifica el comportamiento de otras aplicaciones que puedan estar en pantalla al mismo tiempo.

Nota Windows toma en cuenta varios factores diferentes para determinar el tamaño final de la ventana de la aplicación de origen; por ejemplo, la preferencia de la aplicación de origen, el número de aplicaciones en pantalla, la orientación de la pantalla, etc. Al configurar DesiredRemainingView, no se garantiza un comportamiento específico de las ventanas de la aplicación de origen.

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

A continuación se describen los distintos esquemas de URI.

Esquema de URI de la aplicación Llamada

Usa el esquema de URI ms-call: para iniciar la aplicación Llamadas.

Esquema de URI Resultado
ms-call:settings Página de configuración de la aplicación Llamada.

Esquema de URI de correo electrónico

Usa el esquema de URI mailto: para iniciar la aplicación de correo predeterminada.

Esquema de URI Results
mailto: Inicia la aplicación de correo electrónico predeterminada.
mailto:[dirección de correo electrónico] Inicia la aplicación de correo electrónico y crea un nuevo mensaje con la dirección de correo electrónico especificada en la línea Para. Tenga en cuenta que el correo electrónico no se envía hasta que el usuario pulsa Enviar.

Esquema de URI HTTP

Usa el esquema de URI http: para iniciar el navegador web predeterminado.

Esquema de URI Results
http: Inicia el navegador web predeterminado.

Esquemas de URI de la aplicación Mapas

Usa los esquemas de URI bingmaps:, ms-drive-to: y ms-walk-to: para iniciar la aplicación Mapas de Windows con mapas, direcciones y resultados de búsqueda específicos. Por ejemplo, el siguiente URI abre la aplicación Mapas de Windows y muestra un mapa centrado en la ciudad de Nueva York.

bingmaps:?cp=40.726966~-74.006076

an example of the windows maps app.

Para obtener más información, consulta Iniciar la aplicación Mapas de Windows. Para usar el control de mapa en tu propia aplicación, consulta Mostrar mapas con vistas 2D, 3D y Streetside.

Esquema de URI de la aplicación Mensajes

Usa el esquema de URI ms-chat: para iniciar la aplicación Mensajes de Windows.

Esquema de URI Results
ms-chat: Inicia la aplicación Mensajes.
ms-chat:?ContactID={contacted} Permite que la aplicación de mensajería se inicie con la información de un contacto determinado.
ms-chat:?Body={body} Permite que la aplicación de mensajería se inicie con una cadena para usarla como contenido del mensaje.
ms-chat:?Addresses={address}&Body={body} Permite que la aplicación de mensajería se inicie con la información de una dirección determinada y con una cadena que se usará como contenido del mensaje. Nota: Las direcciones se pueden concatenar.
ms-chat:?TransportId={transportId} Permite que la aplicación de mensajería se inicie con un identificador de transporte determinado.

Esquema de URI del selector de tono

Usa el esquema de URI ms-tonepicker: para elegir tonos de llamada, tonos de alarma y tonos del sistema. También puedes guardar nuevos tonos de llamada y obtener el nombre de un tono.

Esquema de URI Results
ms-tonepicker: Elige tonos de llamada, tonos de alarma y tonos del sistema.

Los parámetros se pasan a través de un ValueSet a la API LaunchURI. Consulta Elegir y guardar los tonos con el esquema de URI ms-tonepicker para obtener más información.

Esquema de URI de la aplicación Números cercanos

Usa el esquema de URI ms-yellowpage: para iniciar la aplicación Números cercanos.

Esquema de URI Results
ms-yellowpage:?input=[keyword]&method=[String or T9] Inicia la aplicación Números cercanos.
input hace referencia a la palabra clave que quieres buscar.
method hace referencia al tipo de búsqueda (cadena o búsqueda T9).
Si method es T9 (un tipo de teclado), keyword debe ser una cadena numérica que se corresponde con las letras del teclado T9 que se van a buscar.
Si method es String, entonces keyword es la palabra clave que se va a buscar.

Esquema de URI de la aplicación Personas

Usa el esquema de URI ms-people: para iniciar la aplicación Personas. Para obtener más información, consulta Iniciar la aplicación Personas.

Esquema de URI de la aplicación Fotos

Usa el esquema de URI ms-photos: para iniciar la aplicación Fotos para ver una imagen o editar un vídeo. Por ejemplo:
Para ver una imagen: ms-photos:viewer?fileName=c:\users\userName\Pictures\image.jpg
O para editar un vídeo: ms-photos:videoedit?InputToken=123abc&Action=Trim&StartTime=01:02:03

Nota:

Los URI para editar un vídeo o mostrar una imagen solo están disponibles en la versión de escritorio.

Esquema de URI Results
ms-photos:viewer?fileName={filename} Inicia la aplicación Fotos para ver la imagen especificada donde {filename} es un nombre de ruta de acceso completa. Por ejemplo: c:\users\userName\Pictures\ImageToView.jpg
ms-photos:videoedit?InputToken={input token} Inicia la aplicación Fotos en modo de edición de vídeo para el archivo representado por el token de archivo. El parámetro InputToken es obligatorio. Usa SharedStorageAccessManager para obtener el token correspondiente a un archivo.
ms-photos:videoedit?Action={action} Parámetro que indica en qué modo de edición de vídeo se va a abrir la aplicación Fotos, donde {action} es: SlowMotion, FrameExtraction, Trim, View o Ink. El parámetro Action es obligatorio.
ms-photos:videoedit?StartTime={timespan} Parámetro opcional que especifica dónde empezar a reproducir el vídeo. {timespan} debe tener el formato "hh:mm:ss.ffff". Si no se especifica, el valor predeterminado es 00:00:00.0000

Esquema de URI de la aplicación Configuración

Usa el esquema de URI ms-settings: para iniciar la aplicación Configuración de Windows. Iniciar en la aplicación Configuración es una parte importante de escribir una aplicación basada en la privacidad. Si la aplicación no puede acceder a un recurso confidencial, se recomienda proporcionar al usuario un vínculo cómodo a la configuración de privacidad de ese recurso. Por ejemplo, el siguiente URI abre la aplicación Configuración y muestra la configuración de privacidad de la cámara.

ms-settings:privacy-webcam

camera privacy settings.

Para obtener más información, consulta Iniciar la aplicación Configuración de Windows and Directrices para aplicaciones basadas en la privacidad.

Esquema de URI de la aplicación Tienda

Usa el esquema de URI ms-windows-store: para Iniciar la aplicación para UWP. Abre páginas de detalles de productos, páginas de revisión de productos, páginas de búsqueda, etc. Por ejemplo, el siguiente URI abre la aplicación para UWP e inicia la página principal de la Tienda.

ms-windows-store://home/

Para obtener más información, consulta Iniciar la aplicación para UWP.

Esquema de URI de la aplicación El Tiempo

Use el esquema de URI msnweather: para iniciar la aplicación El Tiempo.

Esquema de URI Results
msnweather://forecast?la=[latitude]&lo=[longitude] Inicia la aplicación El Tiempo en la página Previsión en función de las coordenadas geográficas de una ubicación.
latitude hace referencia a la latitud de la ubicación.
longitude hace referencia a la longitud de la ubicación.

Esquema de URI de Microsoft Edge

Usa el esquema de URI microsoft-edge: para iniciar el navegador Microsoft Edge con una dirección URL especificada.

Esquema de URI Results
microsoft-edge:https://example.com/] Abre el navegador Microsoft Edge y va a https://example.com/