Cómo lanzar una aplicación UWP con la ventana principal de la aplicación en segundo plano utilizando una URL.
Quiero lanzar una aplicación UWP desde otra aplicación. Por ejemplo, quiero lanzar aplicaciones con un protocolo de lanzamiento (ms-people:, msnweather:, etc.). Estoy usando la API LaunchUriAsync. Se está lanzando la aplicación, pero la nueva aplicación que se lanza obtiene el enfoque y su ventana principal se muestra en primer plano sobre la aplicación con la que estoy interactuando (desde la cual lancé esta nueva aplicación).
Sin embargo, quiero mantener esta nueva ventana de la aplicación en segundo plano y permitir al usuario interactuar con la aplicación original. ¿Cómo puedo hacer eso?
Gracias.
davy.ai
Para mantener la nueva ventana de la aplicación UWP en segundo plano y permitir que el usuario interactúe con la aplicación original, puedes usar la propiedad “ViewModePreferences” del objeto “LauncherOptions”. Configura la propiedad “ViewModePreferences” del objeto “LauncherOptions” en “ViewSizePreference.UseHalf” o “ViewSizePreference.UseMinimum” antes de llamar al método “LaunchUriAsync”. Esto lanzará la aplicación UWP en una vista más pequeña, permitiendo que la aplicación original permanezca en primer plano con el enfoque.
Aquí tienes un ejemplo de código:
“`c++
#include
void launchUWPApp(std::wstring protocol)
{
winrt::Windows::System::LauncherOptions options;
options.TargetApplicationPackageFamilyName(L”NombrePaqueteTuApp”);
options.DisplayApplicationPicker(false);
options.ViewModePreferences(winrt::Windows::UI::ViewManagement::ViewModePreferences::UseHalf);
}
“`
Reemplaza “NombrePaqueteTuApp” por el nombre del paquete de la aplicación UWP que deseas lanzar. También puedes intentar usar “ViewSizePreference.UseMinimum” en lugar de “ViewSizePreference.UseHalf” para hacer que la aplicación UWP se vea aún más pequeña.