Windows Phone中获取UserAgent
2024-08-29 17:25:56
进入WP8时代后,通过DeviceExtendedProperties获取到的DeviceName不再是手机型号了,这对于需要获得手机型号做一些事情的应用(如新浪微博的小尾巴)来说,影响是比较大的。 这时候我们就需要通过获取手机的UserAgent来取得这个手机型号。由于在Windows Phone中并没有直接获取UserAgent的API,所以我们需要通过WebBrowser解析一个特定的html字符串来间接的获取,下面来看看具体的实现步骤:
1.定义获取UserAgent使用的HTML
private const string Html =
@"<!DOCTYPE HTML PUBLIC ""-//W3C//DTD HTML 4.01 Transitional//EN"">
<html>
<head>
<script language=""javascript"" type=""text/javascript"">
function notifyUA() {
window.external.notify(navigator.userAgent);
}
</script>
</head>
<body onload=""notifyUA();""/>
</html>";
2.使用WebBrowser解析HTML
public static void GetUserAgent(Panel rootElement, Action<string> callback)
{
var browser = new Microsoft.Phone.Controls.WebBrowser();
browser.IsScriptEnabled = true;
browser.Visibility = Visibility.Collapsed;
browser.Loaded += (sender, args) => browser.NavigateToString(Html);
browser.ScriptNotify += (sender, args) =>
{
string userAgent = args.Value;
rootElement.Children.Remove(browser);
callback(userAgent);
};
rootElement.Children.Add(browser);
}
3.获取UserAgent
private void MainPage_Loaded(object sender, RoutedEventArgs e)
{
GetUserAgent(
LayoutRoot,
userAgent =>
{
UserAgentTextBlock.Text = userAgent;
});
}
最新文章
- Js的typeof和Js的基本数据类型
- jQuery简单入门(五)
- python --- Python中的callable 函数
- spring的PathMatchingResourcePatternResolver-通配符的Resource查找器
- BZOJ1500——维修序列
- NFC(8)关于新买的标签的格式化
- Automatic Generation of Animated GIFs from Video论文研读及实现
- java-生成任意格式的json数据
- 多线程系列之三:Immutable 模式
- Devexpress dll搜集
- 指定的参数已超出有效值的范围。参数名:sit ,先仔细看看错误和我的一样不一样
- web api token验证理解
- C# Null 赋值
- Python Socket 编程详细介绍(转)
- 关于WebSocket协议
- 大数据入门:Maven项目的创建及相关配置
- x01.calc: 编程语言
- 前端调用后端的方法(基于restful接口的mvc架构)
- 常用类(日期时间格式转换,date,枚举)
- SGU 205. Quantization Problem