以上是关于如何以编程方式检测Windows Phone 8.1操作系统版本?的主要内容,如果未能解决你的问题,请参考以下文章
如何以编程方式更改 Windows Phone 中设置器值中的图像
Windows phone 8 推送通知如何使用 ChannelUpdatedUri 检测频道更新
以编程方式更改HubSection Windows Phone
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何以编程方式检测Windows Phone 8.1操作系统版本?相关的知识,希望对你有一定的参考价值。
标题中的问题不是真正的问题。我浏览了许多站点和博客,并了解到Environment.OSVersion使用我们的应用程序为您提供了手机的当前操作系统版本。但是问题是,在环境类下没有OSVersion。请参考屏幕截图以更好地理解。
我的问题,为什么我不能在Environment类下看到OSVersion属性?我缺少什么吗?
您无法在Windows 8.1中获得OS版本。请检查以下链接是否相同-https://social.msdn.microsoft.com/Forums/windowsapps/en-US/2b455331-3bad-4d26-b615-a59d0e05d0dd/how-to-get-os-version-on-window-phone?forum=wpdevelop
Universal / WinRT应用程序只能在wp 8.1中运行,因此OS版本只能为8.1。当他们制作wp8.2或wp9时,他们可能会添加一种检查安装的操作系统版本的方法...
如果您正在寻找固件版本,则可以使用:
Windows.Security.ExchangeActiveSyncProvisioning.EasClientDeviceInformation deviceInfo = new Windows.Security.ExchangeActiveSyncProvisioning.EasClientDeviceInformation();
var firmwareVersion = deviceInfo.SystemFirmwareVersion;
从重复的问题中复制:
Windows Phone 8.1 Silverlight应用程序可以使用.NET版本的API。在Universal 8.1应用程序中没有获得版本号的受支持机制,但是您可以尝试使用反射来获取Windows 10 AnalyticsInfo
类,如果您在Windows 10上运行,它将至少告诉您版本号。
注:检查操作系统版本是[[几乎总是]]错误的事情,除非您只是简单地将它显示给用户(例如,在“关于”框中)或发送给您。后端分析服务器进行数字运算。不应将其用于执行任何运行时决策,因为通常,它不是无论您实际上要尝试做什么的代理。”这里是一个示例:
var analyticsInfoType = Type.GetType(
"Windows.System.Profile.AnalyticsInfo, Windows, ContentType=WindowsRuntime");
var versionInfoType = Type.GetType(
"Windows.System.Profile.AnalyticsVersionInfo, Windows, ContentType=WindowsRuntime");
if (analyticsInfoType == null || versionInfoType == null)
{
Debug.WriteLine("Apparently you are not on Windows 10");
return;
}
var versionInfoProperty = analyticsInfoType.GetRuntimeProperty("VersionInfo");
object versionInfo = versionInfoProperty.GetValue(null);
var versionProperty = versionInfoType.GetRuntimeProperty("DeviceFamilyVersion");
object familyVersion = versionProperty.GetValue(versionInfo);
long versionBytes;
if (!long.TryParse(familyVersion.ToString(), out versionBytes))
{
Debug.WriteLine("Can't parse version number");
return;
}
Version uapVersion = new Version((ushort)(versionBytes >> 48),
(ushort)(versionBytes >> 32),
(ushort)(versionBytes >> 16),
(ushort)(versionBytes));
Debug.WriteLine("UAP Version is " + uapVersion);
显然,您可以对其进行更新以返回版本等,而不是将其打印到调试控制台。
以上是关于如何以编程方式检测Windows Phone 8.1操作系统版本?的主要内容,如果未能解决你的问题,请参考以下文章
如何以编程方式更改 Windows Phone 中设置器值中的图像
Windows phone 8 推送通知如何使用 ChannelUpdatedUri 检测频道更新
以编程方式更改HubSection Windows Phone