如何检测应用程序是否在WE8H或普通Windows Phone 8上运行?

时间:2014-08-04 07:52:26

标签: c# windows-phone barcode

我正在开发一款可以在Windows Embeddded 8.1掌上电脑和普通Windows Phone 8.1上运行的应用。在WE8H上,我想使用新的内置BarcodeScanner类型,它在消费者的Windows Phone上工作正常但不是这样。我找不到环境属性和操作系统版本信息的任何差异。

如果我理解正确的话,WE8H只是一个普通的WP8,具有额外的装配和管理可能性。在开发网站上我没有看到任何差异,我可以在我的WP8项目中使用BarcodeScanner,我只是在使用BarcodeScanner创建自定义类型的实例时在WP8-Emulator中崩溃。因此,我的想法是通过使用完全限定名称加载类型来测试存在的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);

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

提前致谢! 瓦尔德马

1 个答案:

答案 0 :(得分:0)

瓦尔德玛,对不起耽搁了。我将您的问题转发给了Microsoft技术推广人员。他回答说差异并不容易察觉。

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

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