Я сделал этот помощник, который создаст временный веб-браузер, загрузит скрипт и вернет ожидаемого userAgent:
internal static class UserAgentHelper
{
private const string Html = @"<!DOCTYPE html><html><body onload=""window.external.notify(navigator.userAgent);""></body></html>";
public static Task<string> GetUserAgent()
{
var tcs = new TaskCompletionSource<string>();
var browser = new WebBrowser { IsScriptEnabled = true };
browser.ScriptNotify += (sender, args) => tcs.SetResult(args.Value);
browser.NavigateToString(Html);
return tcs.Task;
}
}
Использование:
var userAgent = await UserAgentHelper.GetUserAgent();
Это работает как минимум для WP7.1 и WP8.0:
WP7: "Mozilla/5.0 (compatible; MSIE 9.0; Windows Phone OS 7.5; Trident/5.0; IEMobile/9.0; Microsoft; XDeviceEmulator)";
WP8: "Mozilla/5.0 (compatible; MSIE 10.0; Windows Phone 8.0; Trident/6.0; IEMobile/10.0; ARM; Touch; Microsoft; Virtual)";