Таким образом, может показаться, что это будет простое решение, но, поскольку я не могу найти никакой документации о том, как именно это сделать, это практически то же самое, что и перебор паролей.
Среда
- Версии Unity: 2019.3.1, 2019.3.4 (текущая)
- Платформа: универсальная Windows Платформа
- MRTK: 2,2, 2,3 (текущая)
- ОС HoloLens 2: Windows Голография c Операционная система
Что я пытаюсь выполнить sh
- Я нажимаю sh кнопку, и в моей сцене Unity появляется файловый браузер / проводник
Проблема
- Я не могу запустить файловый браузер / проводник в HoloLens 2.
Фон / Контекст
С MRTK 2 / HoloLens 2 вы можете запускать внешние приложения, не выходя из приложения Unity. То, что HoloLens 1 не мог сделать. Microsoft предоставляет доказательство этого в своем пакете примеров Unity: Assets/MixedRealityToolkit.Examples/Demos/HandTracking/Scenes/HandInteraction.Examples.unity
после того, как вы загрузили внешние пакетыорта и .Examples в свой проект Unity.
В предоставленной сцене из всех представленных объектов присутствуют две кнопки вправо, которые при нажатии запускают Edge Browser или приложение настроек ОС. Это достигается с помощью сценария, связанного с запуском URI, который запускает .OpenURL
в строке, предоставленной пользователем через инспектор GameObject.
И фрагмент кода (предоставленный Microsoft в MRTK2), который запускает введенную пользователем строку:
public void Launch(string uri){
...
Application.OpenURL(uri);
...
}
Что я уже пробовал
Из-за того, насколько похожи Windows 10 на рабочем столе и Windows Holographi c Операционная система, когда эти кнопки нажимаются, когда Unity находится в Режим воспроизведения, кнопки полностью работают, запуск браузера по умолчанию на компьютере и приложение настроек для Windows 10. В этом предположении я посмотрел, как открыть файловый браузер / проводник, и могу успешно запустить его со строкой explorer
в текстовом поле, но only на рабочем столе Windows 10. Это не работает при работе на HoloLens 2. Неудивительно, что есть различия между Windows 10 и Windows Holographi c Операционная система, поэтому тестирование это немного утомительно, так как мне нужно собирать каждый раз, когда мне нужно протестировать. Пока что строки, которые я протестировал: 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 Desktop, но не в HoloLens 2. Я мог бы продолжить с большим количеством примеров и объяснений, но я уже обеспокоен тем, что мне придется переопределить этот пост как статью в Википедии с той длиной, к которой он уже получен.
И это все. Я в тупик, где go отсюда. Поэтому, пока я продолжаю случайным образом стрелять из ружья в Googleverse и посмотреть, какие наполовину связанные фрагменты я могу найти, чтобы проверить и доказать, что они работают на рабочем столе, а не на HoloLens 2, мысли / предложения? Я не верю, что это сложная проблема / решение. Но это очень специфический c тот, который, насколько я могу судить, не имеет никакой документации по причине того, насколько новым и дефицитным является HoloLens 2.
(Также я не могу создать новый тег для HoloLens 2, недостаточно хороший человек. Поэтому сейчас я должен использовать обычный тег hololens)