永发信息网

如何修改Android自带浏览器的User Agent

答案:1  悬赏:10  手机版
解决时间 2021-04-04 03:45
如何修改Android自带浏览器的User Agent
最佳答案
最近在研究Android自带的Chrome Lite浏览器,想修改下它的UserAgent,跟踪了下Android2.2的源代码,发现主要要修改如下几个地方:
  1.platform/packages/apps/Browser/src/com/android/browser/BrowserSettings.java
  2.platform/packages/apps/Browser/res/values/strings.xml
  在strings.xml中找到这一段:
  
  view plaincopy to clipboardprint?
  
  
  Android
  Desktop
  iPhone
  

  
  
  0
  1
  2
  

  
  这一段中pref_development_ua_choices对应的是Browser的debug模式下选择UserAgent时选项的名字,pref_development_ua_values对应的是不同的UserAgent,一会我会讲到这些数字分别对应的是什么UserAgent。
  在BrowserSettings.java中找到这两段:
  
  view plaincopy to clipboardprint?
  private static final String DESKTOP_USERAGENT = "Mozilla/5.0 (Macintosh; " +
  "U; Intel Mac OS X 10_5_7; en-us) AppleWebKit/530.17 (KHTML, " +
  "like Gecko) Version/4.0 Safari/530.17";
  private static final String IPHONE_USERAGENT = "Mozilla/5.0 (iPhone; U; " +
  "CPU iPhone OS 3_0 like Mac OS X; en-us) AppleWebKit/528.18 " +
  "(KHTML, like Gecko) Version/4.0 Mobile/7A341 Safari/528.16";
  
  
  view plaincopy to clipboardprint?
  public void update(Observable o, Object arg) {
  BrowserSettings b = (BrowserSettings)o;
  WebSettings s = mSettings;
  s.setLayoutAlgorithm(b.layoutAlgorithm);
  if (b.userAgent == 0) {
  // use the default ua string
  s.setUserAgentString(null);
  } else if (b.userAgent == 1) {
  s.setUserAgentString(DESKTOP_USERAGENT);
  } else if (b.userAgent == 2) {
  s.setUserAgentString(IPHONE_USERAGENT);
  }
  
  由此我们可以看出第一段Java代码是不同的UserAgent字符串,从第二段代码中我们可以看出strings.xml中那个整数的数组和不同UserAgent的对应关系,0对应默认的UserAgent,即Android Chrome Lite自己的UserAgent,1对应的是Mac OS的UserAgent,2对应的是IPhone OS的UserAgent。
  有了上述信息,添加一个自己的UserAgent就不是什么难事了,首先在strings.xml中添加一个UserAgent选项的名字,然后添加一个序号,然后在BrowserSettings.java中添加一个自己的UserAgent字符串,然后在最后一个if后面写一个
  
  view plaincopy to clipboardprint?
  else if (b.userAgent == 3) {
  s.setUserAgentString(YOUR_OWN_USERAGENT);
  }
  
  然后就大功告成了!
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
柿子吃了上火吗,柿子饼吃了会上火吗?
为什么人害怕或无助的时候会蜷缩?或者躲在角
什么时候有王者荣耀比赛
电脑上生死狙击修改密码的个人设置在哪里啊
Bill Robinson is on trial for murder(因谋
有关热情的名人名言,有关热情的名人名言
不论黑夜多黑,不论天空多蓝是那首歌里歌词
方框*6—方框=315
甲的钱是乙的钱的4倍,如果甲给乙30元,那么甲
指甲上撒闪粉的时候怎样才会均匀?
单选题为了防止事故发生,下列做法不恰当的是
某校四年级一班参加兴趣小组的人数统计如图所
我在天猫超市买了佳洁士防蛀修护牙膏,膏体印
如何煮冰糖雪梨止咳,冰糖炖雪梨可以止咳吗,
求解,怎么解箱子的锁定.跟基友用同一个箱子
推荐资讯
补充与桥有关的歇后语,与食物有关的名言
单选题Itisfarbetterforonetodrinkmilk,
孔子到底是不是私生子?
求 精通matlab最优化计算.pdf 上下册带书签的
辣妈正传里夏冰和同事视频的电视是什么牌子的
鲁班台词王者荣耀,王者荣耀鲁班七号台词是什
2012年7月31日,菲律宾能源部对南海3个油气区
景军虎,陕西省咸阳市彬县北极镇八家
脑点子一共有多少支画笔
能不能用湿巾擦电脑和液晶电视的屏幕?
明之香vc清润嫩肤原液白天可以用吗?
现在什么品牌的无线路由器WIFI信号好?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?