У меня есть приложение для Windows Phone 7. Я создал визуальную студию 2012 в рабочем столе Windows 8. Я пытаюсь использовать приложение на устройстве Windows Phone 8 с некоторыми изменениями. Как я могу программным образом определить, является ли устройство Windows Phone 7 или Windows Phone 8?
Определить версию ОС - Windows Phone 7 или Windows Phone 8?
Ответ 1
Как и на любой другой платформе с С#: Environment.OSVersion
Ответ 2
Вы можете использовать этот инструментарий для проверки версии телефона: http://mangopollo.codeplex.com/
bool IsWP8(): Возвращает, если телефон, на котором запущено приложение, является Windows Phone 8
EDIT: Если вы не хотите использовать весь инструментарий, вот как он его проверяет:
public static bool IsWP8 { get { return Environment.OSVersion.Version >= TargetedVersion; } }
private static Version TargetedVersion = new Version(8, 0);
Квесты оригинальному автору.
Ответ 3
Вам не нужно.
Либо это приложение для Windows Phone 7, но и будет работать как на Windows Phone 7, так и на Windows Phone 8 или на Windows Phone 8.
Приложение Windows Phone 7, работающее на Windows Phone 8, не должно делать ничего, что не может сделать устройство Windows Phone 7.
Ответ 4
В этой статье также есть хорошие стратегии.
http://msdn.microsoft.com/en-us/library/windowsphone/develop/hh202996(v=vs.105).aspx
Речь идет не только о времени выполнения, например, ваш код может работать в одном режиме на wp7, а другой - на wp8 в зависимости от доступности API. В этом случае #define может наилучшим образом пойти, потому что вам действительно все равно, какое устройство вы используете, но какой SDK вы создали против.