Silverlight 如何获得Windows Phone 7';用户代理字符串?

Silverlight 如何获得Windows Phone 7';用户代理字符串?,silverlight,windows-phone-7,user-agent,Silverlight,Windows Phone 7,User Agent,我需要获取手机的用户代理字符串,但在API中没有找到任何允许此操作的内容。我看到了以下两篇描述用户代理字符串格式的博文: 但是我还没有找到一个可以返回用户代理的方法。是否有人能够成功地完成此操作?转到使用有问题的电话 从我的三星焦点:Mozilla/4.0(兼容:MSIE 7.0;Windows Phone OS 7.0;Trident/3.1;IEMobile/7.0;三星;SGH-i917)我制作了这个助手,它将创建一个临时网络浏览器,加载一个脚本并返回一个等待的用户代理: intern

我需要获取手机的用户代理字符串,但在API中没有找到任何允许此操作的内容。我看到了以下两篇描述用户代理字符串格式的博文:

但是我还没有找到一个可以返回用户代理的方法。是否有人能够成功地完成此操作?

转到使用有问题的电话


从我的三星焦点:
Mozilla/4.0(兼容:MSIE 7.0;Windows Phone OS 7.0;Trident/3.1;IEMobile/7.0;三星;SGH-i917)

我制作了这个助手,它将创建一个临时网络浏览器,加载一个脚本并返回一个等待的用户代理:

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;
    }
}
它至少适用于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)";
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)";