【发布时间】:2021-08-31 17:12:49
【问题描述】:
我的主要目标是从 holoLens 应用打开浏览器链接。但是使用以下代码直接从 HoloLens 应用打开链接:
Application.Open(url)
这确实打开了链接,但它实际上关闭/重置了 HoloLens 应用程序,再次打开它只是从一开始就重置它,就像它根本没有打开一样。
我做了一些实验:手动最小化 HoloLens 应用。 -> 打开全息浏览器,-> 浏览 -> 然后返回 HoloLens 应用程序。 而且这种方法有效,HoloLens 应用没有重置或关闭。
所以我正在研究如何以编程方式最小化应用程序,然后打开浏览器。 我发现了这个:
还通过使用一些参考来遵循说明:
- https://docs.microsoft.com/en-us/windows/uwp/packaging/app-capability-declarations
- https://docs.microsoft.com/en-us/windows/uwp/packaging/app-capability-declarations#device-capabilities
- https://docs.microsoft.com/en-us/uwp/schemas/appxpackage/how-to-specify-device-capabilities-in-a-package-manifest
参考文献基本上说,为了最小化应用程序。您将需要使用此代码:
#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 应用程序的脚本之后,我运行了它,但仍然没有任何反应..
我错过了什么?
【问题讨论】:
-
通常在 Unity 内部设置功能。我认为它在播放器设置 -> 发布设置中
-
功能(播放器设置 -> 发布设置 -> 功能选项卡)中没有应用诊断。或者我只是需要一些统一的更新?
-
原来 appDiagnostics 不是 deviceCapability 而是受限制的能力,所以我遵循了它的过程:
<?xml version="1.0" encoding="utf-8"?> <Package ... xmlns:rescap="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities" IgnorableNamespaces="... rescap"> ... <Capabilities> <rescap:Capability Name="appDiagnostics"/> </Capabilities> </Package>但仍然无法正常工作
标签: visual-studio unity3d uwp hololens appxmanifest