我有一个适用于 Windows Phone 7 的应用程序。我在 Windows 8 桌面上创建了 Visual Studio 2012。我正在尝试在 Windows Phone 8 设备中使用该应用程序,并涉及一些更改。如何以编程方式检测设备是 Windows Phone 7 还是 Windows Phone 8?
4 回答
就像在任何其他使用 C# 的平台上一样:Environment.OSVersion
可以使用这个工具包查看手机的版本:http: //mangopollo.codeplex.com/
bool IsWP8() :如果运行应用程序的手机是 Windows Phone 8,则返回
编辑:如果您不想使用整个工具包,它是如何检查它的:
public static bool IsWP8 { get { return Environment.OSVersion.Version >= TargetedVersion; } }
private static Version TargetedVersion = new Version(8, 0);
对原作者的信任。
你不应该需要。
它要么是 Windows Phone 7 应用程序,并且可以在 Windows Phone 7 和 Windows Phone 8 设备上运行,要么是 Windows Phone 8 应用程序。
在 Windows Phone 8 上运行的 Windows Phone 7 应用程序应该不能做任何 Windows Phone 7 设备不能做的事情。
这篇文章也有一些很好的策略。
http://msdn.microsoft.com/en-us/library/windowsphone/develop/hh202996(v=vs.105).aspx
它也不仅仅是关于运行时,例如,您的代码可能在 wp7 上以一种方式运行,而在 wp8 上以另一种方式运行,具体取决于 API 的可用性。在这种情况下,#define 可能是最好的选择,因为你真的不关心你在什么样的设备上运行,而是你构建的 SDK 是什么。