StartSuspendAsync()[最小化 HoloLens 应用程序] 不执行任何操作

StartSuspendAsync()[minimizing the HoloLens App] doesn't do anything

我的主要目标是从 holoLens 应用打开浏览器 link。但是使用以下代码直接从 HoloLens 应用程序打开 link:

Application.Open(url)

这确实打开了 link 但它实际上 closes/resets HoloLens 应用程序,再次打开它只是从头开始重置它,就像它根本没有打开一样。

我做了一些实验:手动最小化 HoloLens 应用程序。 -> 打开全息浏览器,-> 浏览 -> 然后返回到 HoloLens 应用程序。 并且此方法有效,HoloLens 应用程序没有重置或关闭。

所以我正在研究如何以编程方式最小化应用程序,然后打开浏览器。 我发现了这个:

还通过使用一些参考资料按照说明进行操作:

参考资料基本上是说,为了最小化应用程序。您将需要使用此代码:

#if !UNITY_EDITOR
using System.Threading.Tasks;
using Windows;
using Windows.Storage.Pickers;
using Windows.System;
#endif

#if !UNITY_EDITOR
IList<AppDiagnosticInfo> infos = await AppDiagnosticInfo.RequestInfoForAppAsync();
IList<AppResourceGroupInfo> resourceInfos = infos[0].GetResourceGroups();
await resourceInfos[0].StartSuspendAsync();
#endif

并且您还需要在构建文件夹的 .appxmanifest 文件中声明 appDiagnostics

内置文件夹中有 2 个 .appxmanifest,位于:

G:\Unity Projects\Build\build\bin\ARM64\Release\AppX

G:\Unity Projects\Build\build\bin\ARM64\Release

我编辑了两个 .appxmanifest 只是为了确定。

所以当我 运行 应用程序进行了更改,运行 脚本时..什么也没有发生。

他们还说要正确打开全息浏览器你需要使用这个:

System.Diagnostics.Process.Start(url);

但这也不起作用。在我完成应该最小化 HoloLens 应用程序的脚本后,我 运行 仍然没有任何反应..

我错过了什么?

如果系统没有资源让您的应用程序保留在内存中,它会终止暂停的应用程序以释放资源,即使您手动最小化该应用程序,更多信息请参阅:App Terminate

打开一些 Web 链接并避免系统暂停您的应用程序的最佳方法是直接在您的 unity 应用程序中启动平面浏览器 window。请参考这段代码:LaunchUri.cs. And have a look at launch browser example which shows the behavior in the HandInteractionExamples场景