C# 如何使用LaunchUriForResultAsync全屏启动另一个应用程序?

C# 如何使用LaunchUriForResultAsync全屏启动另一个应用程序?,c#,xaml,uwp,launcher,C#,Xaml,Uwp,Launcher,我想使用LaunchUriForResultAsync启动我的另一个应用程序,并从中获得一些结果。但我想全屏启动另一个应用程序,如果不可能的话,也许可以启动更大尺寸的应用程序 当我使用LaunchUrForResultAsync启动另一个应用时,该模式应用程序将以500x500大小启动。我需要更大的东西,因为我需要创建一个需要更多空间的数据输入应用程序,多个应用程序可以启动。我试图将DesiredRemainingView和PreferredLaunchWindowingMode设置为全屏。它没

我想使用LaunchUriForResultAsync启动我的另一个应用程序,并从中获得一些结果。但我想全屏启动另一个应用程序,如果不可能的话,也许可以启动更大尺寸的应用程序

当我使用LaunchUrForResultAsync启动另一个应用时,该模式应用程序将以500x500大小启动。我需要更大的东西,因为我需要创建一个需要更多空间的数据输入应用程序,多个应用程序可以启动。我试图将DesiredRemainingViewPreferredLaunchWindowingMode设置为全屏。它没有使我的另一个应用程序全屏启动


有没有办法使用LaunchUriForResultAsync全屏启动我的其他应用程序

无法控制为结果启动的窗口的大小。在当前版本的Windows中,此大小硬编码为500x500。目前正在研究提供一种允许应用程序控制的方法,以备将来的更新

由于您控制这两个应用程序,因此可以编写自定义系统来管理通信,而不是使用LaunchUriForResultAsync。AppA和AppB可以各自定义自己的协议(AppA:和AppB:)。AppA可以启动UriaSync appb:来执行它需要的任何操作,然后appb可以启动UriaSync AppA:来交付结果。将AppA的返回URL作为参数传递给appb:,这可以从多个应用程序调用

最棘手的部分可能是管理模态。在AppA等待时禁用其页面很容易,但在首次发布后将AppB的窗口链接到AppA的页面则更难。在我脑海中,我只是重新启动appb:并确保appb:能够正常跟踪和处理多个发布


这或多或少就是LaunchUriForResultAsync为您所做的。

如果设备处于平板电脑模式,您可以使用
查看SizePreference。SizeOne
,应用程序将全屏启动:

var options = new Windows.System.LauncherOptions();
options.DesiredRemainingView = Windows.UI.ViewManagement.ViewSizePreference.UseNone;
await Windows.System.Launcher.LaunchUriAsync(uri, options);
我认为这里的混乱部分在于大小偏好定义了当前应用所需的空间,而不是发布应用所需的大小。因为目标应用程序可以有自己的首选项


如果禁用平板电脑模式,此解决方案不起作用,那么您必须按照Rob Caplan的建议使用解决方案。

大多数情况下,您都尝试过此解决方案。是的,我也尝试过,我开始认为我想做的是不可能的。这就是我一直在寻找的。用户需要在平板电脑模式下运行。谢谢