c++ - 如何使用 C++ 读取 Hololens 上的文件
问题描述
我正在尝试读取正在部署到 Hololens 的测试/调试 UWP 应用程序中的文件。我可以使用设备门户将文件放在设备上,但无法找到打开文件的正确路径。
我使用 MSFT BasicXrApp_uwp 示例作为基础,并包含了具有FindFileInAppFolder
功能的 FileUtility。"The file should be embeded in app folder in debug build."
在让我知道应用程序文件夹是之后,这始终无法找到文件,并出现错误
:
C:\Data\Users\DefaultAccount\AppData\Local\DevelopmentFiles\364f83f4-6e13-42e4-8253-71dd3040951cVS.Debug_ARM.mikeh\
该部分364f83f4-6e13-42e4-8253-71dd3040951cVS
在设备门户中可识别为 User Folders/LocalAppData 文件夹,但 Debug_ARM.mikeh 部分在门户上不可见。
如果可能的话,我正在使用 C++ 并尝试在静态的非 uwp 库中读取文件(指出这一点,所以如果可能的话,我不会收到使用 UWP 异步内容的建议)。
那么,如何将我的文件嵌入到 app 文件夹中,或者如何放置文件以便我可以阅读它?
解决方案
这是因为 FindFileInAppFolder 方法返回的文件夹路径是当前包的InstalledLocation,但是您在设备门户中查看的是LocalFolder / LocalCacheFolder,有关它们之间有什么不同的更多信息,请参阅:文件访问权限。
如何将我的文件嵌入到应用程序文件夹中,或者如何放置文件以便我可以阅读它?
您可以通过 Device Portal 将文件放在 LocalState 文件夹中,并通过 ApplicationData.LocalFolder 属性获取此文件夹路径,路径应为:C:\Data\Users\DefaultAccount\AppData\Local\Packages\364f83f4-6e13-42e4-8253-71dd3040951c\LocalState
。对于如何通过 C++ 访问文件,您可以使用例如文件访问示例
推荐阅读
- google-kubernetes-engine - GKE 什么时候不再支持 k8s 版本?
- kotlin - kotlin 接口伴随对象函数上的@JvmOverloads 错误
- android - 关于 Android EMM 的权限
- blazor - Blazor 中是否有导航堆栈?
- java - 如何在 Java 中为 Springboot 实现通用存储库
- python-3.x - 如何使用 Python 对红外光谱数据进行聚类
- python - 为什么 python str.strip() 方法不删除这段代码中的前导字符?
- python - Anaconda 提示卡在“执行交易”
- html - 选择文件的离子/角度形式验证
- r - 如何使用 pdf 输出使多个图填充 Rmarkdown 中的整个页面