windows store apps - unity - Aplicación externa abierta desde la aplicación Universal de Windows
uwp vs wpf (1)
Gracias a Microsoft MVA, se nos presentaron algunas opciones (solo tienes que manipularlas):
Solución 1 (recomendada por este tutorial de Microsoft MVA ):
Si desea iniciar una aplicación específica, debe crear un registro de esquema URI, que solo la aplicación específica que desea iniciar puede manejar. Usando el Launcher
, puede llamar a un URI específico que solo será manejado por una aplicación (por ejemplo, my-cool-uri-scheme://start?param1=123¶m2=ABC
).
Nota: El usuario siempre tendrá la opción final de qué aplicación comenzar con un URI específico (por eso esta solución es recomendada por Microsoft).
¡Las siguientes soluciones probablemente solo funcionen en entornos empresariales!
Solución 2 (solución alternativa):
Tienes que escribir una aplicación proxy de Windows.
Esta aplicación de proxy (casi como en la solución n. ° 1) se registra con una extensión de archivo específica.
Desde su aplicación UWP, luego llama a una ruta de archivo imaginaria que contiene sus parámetros (por ejemplo, C:/Users/CURRENTUSER/AppData/Roaming/YOURAPP/PARAM1/PARAM2/PARAM3/open.my-cool-extension
) o evento del archivo en sí que contiene los parámetros (por ejemplo, XML o RESTful).
La aplicación de manejo usará esa información para iniciar una aplicación específica (usando Process.Start
) con sus parámetros dados.
Solución 3 (solución sucia ):
Tienes que escribir una aplicación de observación de Windows. Esta aplicación crea un FileSystemWatcher
escuchando una carpeta específica. Entonces, ¿por qué esta es la solución sucia ? Porque tú...
- Debes crear un
FileSystemWatcher
permanentemente un directorio específico para tu aplicación UWP. - El usuario no tiene control sobre lo que sucederá (no hay posibilidad de anular la aplicación para iniciar)
Necesito abrir una aplicación externa (Cisco Jabber Video para Telepresencia) cuando un usuario selecciona la opción de "video llamada" en mi aplicación.
Descubrí que no es posible abrir la ubicación del ejecutable en una aplicación universal ...
También descubrí que no puedo abrir una aplicación cuando no está asociada a ningún esquema de URI ...
¿Hay alguna manera de que pueda hacer esto?