如何检测应用程序是在WE8H还是正常的Windows Phone 8上运行

本文关键字:Windows Phone 运行 WE8H 何检测 检测 应用程序 | 更新日期: 2023-09-27 18:16:27

我正在开发一个应用程序,可以在Windows embedded 8.1手持和正常的Windows Phone 8.1上运行。在WE8H上,我想使用新的内置BarcodeScanner类型,它工作得很好,但在消费者Windows Phone上就不行了。我没有发现环境属性和操作系统版本的信息有任何差异。

如果我理解正确的话,WE8H只是一个普通的WP8,具有额外的组件和管理可能性。在开发网站上,我没有看到任何差异,我可以在我的WP8项目中使用BarcodeScanner,我只是在WP8模拟器中使用BarcodeScanner创建自定义类型的实例时崩溃。所以我的想法是测试BarcodeScanner类型的存在通过加载类型的完整限定名,如果它不存在,然后只是忽略我自己的自定义类型使用BarcodeScanner和整个PointOfService命名空间。

var barcodeType = Type.GetType("Windows.Devices.PointOfService.BarcodeScanner, Windows.Devices.PointOfService, Version=255.255.255.255, Culture=neutral, PublicKeyToken=null, ContentType=WindowsRuntime", false);

我的问题是我将来是否可以依靠这样的测试。或者你知道一个更好的解决方案来运行操作系统吗?

提前感谢!沃尔德

如何检测应用程序是在WE8H还是正常的Windows Phone 8上运行

Waldemar,抱歉耽搁了。我把你的问题转发给了微软的技术传道者。他回答说差异不容易察觉。

从他的观点来看,更好的方法是尝试在WP不支持的WEH对象上做反射(并捕获异常)。但他还没有测试过。

所以你最初的想法似乎也很好。