10

我有一个适用于 Windows Phone 7 的应用程序。我在 Windows 8 桌面上创建了 Visual Studio 2012。我正在尝试在 Windows Phone 8 设备中使用该应用程序,并涉及一些更改。如何以编程方式检测设备是 Windows Phone 7 还是 Windows Phone 8?

4

4 回答 4

10

就像在任何其他使用 C# 的平台上一样:Environment.OSVersion

于 2012-11-09T04:10:21.383 回答
5

可以使用这个工具包查看手机的版本: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);

对原作者的信任。

于 2012-11-09T06:28:54.833 回答
2

你不应该需要。

它要么是 Windows Phone 7 应用程序,并且可以在 Windows Phone 7 和 Windows Phone 8 设备上运行,要么是 Windows Phone 8 应用程序。

在 Windows Phone 8 上运行的 Windows Phone 7 应用程序应该不能做任何 Windows Phone 7 设备不能做的事情。

于 2012-11-09T04:08:39.950 回答
0

这篇文章也有一些很好的策略。

http://msdn.microsoft.com/en-us/library/windowsphone/develop/hh202996(v=vs.105).aspx

它也不仅仅是关于运行时,例如,您的代码可能在 wp7 上以一种方式运行,而在 wp8 上以另一种方式运行,具体取决于 API 的可用性。在这种情况下,#define 可能是最好的选择,因为你真的不关心你在什么样的设备上运行,而是你构建的 SDK 是什么。

于 2013-04-29T19:35:10.253 回答