尝试通过 Agent 来获取相应的智能手机设备标识,根据标识的不同来输出对应设备所需的显示样式及其他。
经过努力,终于搜集了比较全的 智能设备 的 Agent,相应的判断过程及代码如下,不明白的留言。
public static bool CheckAgent()
{
bool flag = false;
string agent = HttpContext.Current.Request.UserAgent;
string[] keywords = { "Android", "iPhone", "iPod", "iPad", "Windows Phone", "MQQBrowser" };
//排除 Windows 桌面系统
if (!agent.Contains("Windows NT") || (agent.Contains("Windows NT") && agent.Contains("compatible; MSIE 9.0;")))
{
//排除 苹果桌面系统
if (!agent.Contains("Windows NT") && !agent.Contains("Macintosh"))
{
foreach (string item in keywords)
{
if (agent.Contains(item))
{
flag = true;
break;
}
}
}
flag = true;
}
return flag;
}
代码解释:
1. !agent.Contains("Windows NT") && !agent.Contains("Macintosh") 排除Window 桌面系统 和 苹果桌面系统
2. "Android", "iPhone", "iPod", "iPad", "Windows Phone", "MQQBrowser" 这些是判断智能设备Agent中的关键词
3. MQQBrowser 为 QQ 手机浏览器,QQ 手机的Agent 比较特殊,所以单独判断(在目前的Android系统中,只有该浏览器支持Html5语言)。

最新文章

  1. Android中AIDL的理解与使用(二)——跨应用绑定Service并通信
  2. spark发行版笔记13
  3. Rebalance Customer Balances Utility的使用
  4. phpstorm配置代码自动同步到服务器
  5. YAFFS2文件系统分析(转)
  6. install Matlab2016b on Ubuntu 14.04
  7. smartUpload组件文件上传
  8. Configure Database Mirroring
  9. SQL把做个字段组合成一个字符串
  10. PHP之路——PHPExcel使用
  11. 转: sublime text常用插件和快捷键
  12. c 有意思的数组初始化
  13. css3动画实例测试
  14. vconfig 的使用
  15. Fragmen和Activity之间的通信--接口和实现的分离(转)
  16. MySQL关于root密码修改
  17. openssl交叉编译记录
  18. Java并发编程总结3——AQS、ReentrantLock、ReentrantReadWriteLock
  19. mac下/usr/local/bin No such file or directory问题解决
  20. linux 的常用命令---------第五阶段

热门文章

  1. java静态代码块,构造方法,初始化块的执行顺序
  2. P1522 牛的旅行 (Floyd)
  3. spark浅谈(3):
  4. vue访问外部接口设置代理,解决跨域(vue-cli3.0)
  5. 在Eclipse-jee-neon中配置springsource-tool-suite
  6. 【记录】spring boot 全局捕获异常@ExceptionHandler与@Validated @RequestBody 配合使用
  7. Express 2015 RC for Windows 10 安装
  8. UNIX网络编程总结一
  9. leetcode x进制数 python3
  10. Google Capture The Flag 2018 (Quals) - Beginner's Quest - Reverse - Firmware