Aplicaciones de Windows
Contraer la tabla de contenido
Expandir la tabla de contenido

Cómo iniciar la aplicación predeterminada de un URI (aplicaciones de la Tienda Windows con JavaScript y HTML)

Aprende cómo iniciar la aplicación predeterminada de un URI. Los URI te permite iniciar otra aplicación en el sistema para realizar una tarea específica. Por ejemplo, si quieres permitir que el usuario envíe un correo electrónico a un contacto en tu aplicación, puedes usar el URI mailto: para iniciar la aplicación de correo electrónico predeterminado del usuario.

Los siguientes pasos te mostrarán cómo usar la API Windows.System.Launcher para iniciar el controlador predeterminado para un URI.

Instrucciones

Paso 1: Crear el URI

Crea un objeto Windows.Foundation.Uri para que el URI lo inicie. Este URI usa el nombre de esquema de HTTP.



// The URI to launch
var uriToLaunch = "http://www.bing.com";

// Create a Uri object from a URI string 
var uri = new Windows.Foundation.Uri(uriToLaunch);

Paso 2: Iniciar el URI

Windows proporciona varias opciones distintas para iniciar el controlador predeterminado de un URI. Estas se describen en el siguiente gráfico y en las secciones a continuación.

OpciónMétodoDescripción
Inicio predeterminadoLaunchUriAsync(Uri)Inicia el URI especificado con el controlador predeterminado.
Iniciar con un diálogo de advertenciaLaunchUriAsync (Uri, LauncherOptions)Windows mostrará un diálogo de advertencia antes de iniciar el URI especificado.
Iniciar con una reserva de aplicación recomendadaLaunchUriAsync (Uri, LauncherOptions)Inicia el URI especificado con el controlador predeterminado. Si no se instala un controlador en el sistema, recomienda una aplicación al usuario en la Tienda Windows.

 

Estos ejemplos usan el método Windows.System.Launcher.launchUriAsync para iniciar el URI. Este es un método sobrecargado.

Default launch

Usa la aplicación predeterminada del URI de HTTP para llamar a launchUriAsync(Uri) iniciar el URI creado en el paso 1.


// Launch the URI
Windows.System.Launcher.launchUriAsync(uri).then(   
   function (success) {
      if (success) {
        // URI launched
      } else {
        // URI launch failed
      }
   });

Launch with a warning dialog

Llama a launchUriAsync(Uri, LauncherOptions) para iniciar el URI creado en el paso 1 con una advertencia. La propiedad treatAsUntrusted indica que el sistema debería mostrar una advertencia.

Un diálogo de advertencia superpuesto en un fondo atenuado de la aplicación. El diálogo pregunta al usuario si desea cambiar de aplicación y tiene los botones ‘Sí’ y ‘No’ en la zona inferior derecha. El botón ‘No’ está resaltado.

// Launch the URI with a warning prompt
var options = new Windows.System.LauncherOptions();
options.treatAsUntrusted = true;

Windows.System.Launcher.launchUriAsync(uri, options).then(
   function (success) {
      if (success) {
        // URI launched
      } else {
        // URI launch failed
      }
   });

Launch with a recommended app fallback

En algunos casos, el usuario podría no tener instalada una aplicación para administrar el URI que estás iniciando. Si esto sucede, de manera predeterminada, Windows ofrece un vínculo al usuario para que busque una aplicación apropiada en la Tienda. Si quieres recomendar al usuario qué aplicación comprar en este escenario, debes incluir la recomendación junto con el URI que estás iniciando. Para ello, llama al método Windows.System.Launcher.LaunchUriAsync(Uri, LauncherOptions) con LauncherOptions.preferredApplicationPackageFamilyName establecido con el nombre de familia de paquete correspondiente a la aplicación de la Tienda que quieras recomendar. Después establece LauncherOptions.preferredApplicationDisplayName con el nombre de esa aplicación. Windows usará esta información para reemplazar la opción general de buscar una aplicación por una opción específica para comprar la aplicación recomendada en la Tienda.

Nota  Debes establecer estas dos opciones para recomendar una aplicación. Si se establece una, pero la otra no, se producirá un error.

El diálogo Abrir con para un inicio del URI de contoso. Como contoso no tiene un controlador instalado en la máquina, el diálogo contiene una opción con el icono y el texto de la Tienda que apunta al usuario al controlador correcto en la Tienda. El diálogo también contiene un vínculo ‘Más opciones’.

// Set the recommended app.
var options = new Windows.System.LauncherOptions();
options.preferredApplicationPackageFamilyName = "Contoso.URIApp_8wknc82po1e";
options.preferredApplicationDisplayName = "Contoso URI App";

// Launch the URI and pass in the recommended app 
// in case the user has no apps installed to handle the URI
Windows.System.Launcher.launchUriAsync(uri, options).then(
   function (success) {
      if (success) {
        // Uri launched
      } else {
        // Uri launch failed
      }
   });


Observaciones

La aplicación no puede seleccionar qué aplicación se inicia, sino que es el usuario el que determina la aplicación que se inicia. El usuario puede optar entre una aplicación de la Tienda Windows o una aplicación de escritorio.

Cuando inicies un URI, tu aplicación debe ser la aplicación en primer plano, es decir, debe estar visible para el usuario. Este requisito permite asegurar que el usuario permanezca en control. Para cumplir este requisito, asegúrate de enlazar todos los inicios de URI directamente a la interfaz de usuario de la aplicación. El usuario siempre debe tener que realizar alguna acción para iniciar el URI. Si intentas iniciar un URI y tu aplicación no está en primer plano, se producirá un error en el inicio y se invocará a la devolución de llamada de error.

Debes especificar la funcionalidad privateNetworkClientServer para poder iniciar los URI de la intranet, como por ejemplo, un URI file:/// que apunte a una ubicación de red.

No puedes usar este método para iniciar un URI en la zona local. Por ejemplo, las aplicaciones no pueden usar el URI file:/// para acceder a archivos en el equipo local. Para acceder a estos archivos, debes usar Storage APIs. Si intentas iniciar un URI de intranet sin la funcionalidad adecuada o un URI de zona local, se producirá un error en el inicio y se invocará a la devolución de llamada de error.

Ejemplo completo

Consulta Ejemplo de inicio por asociación.

Temas relacionados

Tareas
Cómo administrar la activación de protocolos
Cómo iniciar la aplicación predeterminada de un archivo
Directrices
Directrices y lista de comprobación de tipos de archivo y URI
Referencia
Windows.System.Launcher.launchUriAsync

 

 

Mostrar:
© 2018 Microsoft