[HoloLens 2中的Unity App中的打开文件浏览器

问题描述 投票:0回答:1

所以看来这将是一个简单的解决方案,但是由于我找不到有关如何执行此操作的任何文档,因此与蛮力猜测密码实际上是相同的。

环境

  • 统一版本:2019.3.1,2019.3.4(当前)
  • 平台:通用Windows平台
  • MRTK:2.2,2.3(当前)
  • HoloLens 2操作系统:Windows Holographic操作系统

我要完成的工作

  • 我按下按钮,文件浏览器/浏览器出现在我的Unity场景内

问题

  • 我无法在HoloLens 2中启动文件浏览器/浏览器。

背景/上下文

使用MRTK 2 / HoloLens 2,您可以在不退出Unity应用程序的情况下启动外部应用程序。 HoloLens 1无法做到的事情。 Microsoft在其Unity示例包中提供了这一证明:Assets/MixedRealityToolkit.Examples/Demos/HandTracking/Scenes/HandInteraction.Examples.unity将.Foundation和.Examples外部包加载到Unity项目中之后。

在提供的场景中,在所有显示的对象中,右侧有两个按钮,当按下这些按钮时,它们将启动Edge Browser或OS的设置应用程序。这是通过启动URI附加脚本完成的,该脚本在用户通过GameObject的检查器提供的字符串上运行.OpenURL

GameObject inspector screenshot of the button that opens Edge BrowserGameObject inspector screenshot of the button that opens Settings

以及运行用户输入的字符串的代码段(由Microsoft在MRTK2中提供):

public void Launch(string uri){
    ...
    Application.OpenURL(uri);
    ...
}

到目前为止我尝试过的内容

由于桌面和Windows Holographic操作系统上的Windows 10有多相似,当Unity处于播放模式时按下这些按钮时,这些按钮将完全起作用,启动计算机的默认浏览器以及Windows 10的设置应用程序。在这种假设下,我查找了如何打开文件浏览器/浏览器,并能够在文本框中使用字符串explorer成功启动它,但在Windows 10桌面上使用only来启动它。在HoloLens 2上运行时,它不起作用。不足为奇的是,Windows 10和Windows Holographic操作系统之间存在差异,因此进行测试非常繁琐,因为每次测试时都需要构建。到目前为止,我测试过的字符串是:explorer explorer.exe ms-explorer ms-browser ms-storage ms-storage.storagefile:// (and without the ://) https://C:\依此类推....

[Application.OpenURL可能不是唯一/最佳途径,我也尝试了不同的脚本:

public void Opener(){
    System.Diagnostics.Process.Start("explorer.exe");
}

但是再一次,这种方法在Windows 10桌面上完全可以使用,但是在HoloLens 2中却没有。已经达到的长度。

就是这样。我对从这里去哪里感到困惑。因此,在我继续随机地散布到Googleverse中,看看有哪些相关的代码片段可以测试并证明它们适用于台式机而不是HoloLens 2时,您会想到/建议吗?我不认为这是一个复杂的问题/解决方案。但是,据我所知,这是一个非常具体的文档,由于HoloLens 2仍然是新的和稀缺的,所以它的文档为零。

(而且我无法为HoloLens 2创建新标签,对一个人来说还不够好。所以现在我必须使用常规的hololens标签)

c# unity3d uri explorer hololens
1个回答
0
投票

我一直在Microsoft的开发人员支持中来回走动,他们在揭示有关此主题的更多信息方面非常有帮助,我们同意将其记录在此处是一个好主意。将来有人遇到这种需求/问题。


当前,无法从HoloLens 2上的Unity应用程序访问本机文件浏览器。在进行解决方案的第三方合作之前,最佳本机操作是使用FileOpenPicker:https://docs.microsoft.com/en-us/windows/mixed-reality/app-model#file-pickers

除了完全本机解决方案之外,下一个最佳操作方案是使用资产商店中的第三方资产。由于我的开发人员环境/工作限制,我不确定我个人是否可以使用此方法,但这对其他大多数人来说都是可行的做法。

我正在考虑这是HoloLens 2当前状态的正式答案,但是如果将来情况发生变化,我们将很乐意对此进行修改。


当前(2020年初),无法通过应用程序从本地访问File Explorer,最好/最近的本地解决方案是使用FileOpenPicker或Unity Asset Store上的第三方资产。
© www.soinside.com 2019 - 2024. All rights reserved.