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