在Windows Phone 8.1 XAML中获取Windows Phone版本和设备名称

22

在Windows Phone 8 Silverlight中,我使用

 Environment.OSVersion.ToString()

获取 Windows Phone 版本并

DeviceStatus.DeviceManufacturer+" "+DeviceStatus.DeviceName

获取设备名称。

这些API不再适用于Windows Phone 8.1 XAML。我已经找到了

Windows.Security.ExchangeActiveSyncProvisioning.EasClientDeviceInformation()

这似乎返回制造商和设备名称,但操作系统仅返回为“Windows Phone”。

有没有办法获取确切的Windows手机版本?


据我所知,似乎无法获取版本号。不知道您需要它的原因是什么? - yasen
该文档 http://msdn.microsoft.com/en-us/library/system.environment.osversion(v=vs.110).aspx 和 http://msdn.microsoft.com/EN-US/library/windowsphone/develop/microsoft.phone.info.devicestatus.devicemanufacturer(v=vs.105).aspx 显示该特性支持 Windows Phone 8.1 XAML。 - cvraman
@yasen 用于 API 调用,他们将用它进行一些分析。 - Igor Kulman
@cvraman 可以使用 8.1 Silverlight,但无法使用 8.1 XAML。 - Igor Kulman
你有问过 API 的相关人员吗?他们可能会有一些想法。另外,现在你可以先传递 8.1。是的,这不是一个真正的解决方案,但我不知道是否存在这样的解决方案。 - yasen
3个回答

5

目前在Windows Runtime 8.1(手机和Windows)中不可能实现。看起来可能会计划实现,这要感谢Morten Nielsen和Pete Brown

编辑:现在在Windows 10中可以实现。有关更多有用功能,请参见此SO答案以及此文章


那么 https://dev59.com/7mAf5IYBdhLWcg3wMwM9#24929167 呢?我不应该使用它吗? - Felipe Sabino
固件版本不是操作系统版本。对于特定的操作系统,有许多不同的版本。虽然主要的操作系统是8.1,但实际使用的版本取决于MS或运营商推出了哪些更新。 - Shawn Kendrot

2
对于8.1版本,您可以在Github上使用此项目https://github.com/Microsoft/phone-info,其中包括一个检索Windows Phone设备的静态和动态属性的示例应用程序。
对于Windows 10,用于收集这些数据的API已更改。我发现了一篇博客文章https://www.suchan.cz/2015/08/uwp-quick-tip-getting-device-os-and-app-info/,其中有人创建了一个帮助类,从Windows 10 UWP应用程序中检索以下属性:
current OS family - phone/desktop/...
current OS build number - 10.0.10240.16413
current OS architecture - x86/x64/ARM
current App Display Name current App Version - 3.0.2.0
current Device manufacturer - Nokia
current Device model - Lumia 1520
在他的帖子中,他展示了如何获取当前设备、操作系统和应用程序的基本数据。
试试看,也许会有所帮助。

谢谢,但是我的问题是关于8.1的,所以这对我来说不是一个解决方案。 - Igor Kulman
对于8.1版本,您可以在Microsoft.Phone.Info命名空间下的DeviceStatus类中使用DeviceStatus属性。 - Rami Sarieddine
@IgorKulman 我编辑了答案,包括8.1,请告诉我是否可以完成任务。 - Rami Sarieddine

1
在Windows Phone 8.1中:
Windows.Security.ExchangeActiveSyncProvisioning.EasClientDeviceInformation().FriendlyName

它对我起作用了!


1
这只返回设备名称,而不是所要求的操作系统版本。 - andyhammar
1
您还具有以下属性:Id、操作系统、SystemSku、SystemProductName、SystemManufacturer、SystemHardwareVersion、SystemFirmwareVersion、SystemFirmwareVersion。 - Toni Moreno
哦,你说得对,它没有版本号。抱歉。 - Toni Moreno
2
这些都没有提到Windows 8.1或其扩展版本号,也没有提到设备名称。 - djack109

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接