永发信息网

如何修改Android自带浏览器的User Agent-MTK软件

答案:1  悬赏:10  手机版
解决时间 2021-03-24 20:17
如何修改Android自带浏览器的User Agent-MTK软件
最佳答案
最近在研究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);
}

然后就大功告成了!
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
形容享受吹空调的句子,一句话回答:空调工作
云天驴肉馆我想知道这个在什么地方
群租房,里面有个女的特别贱,怎么整她整的不
50g高防的免流服务器多少钱?
去大连旅游住哪里比较好
was obvious manager of the coffee shop wa
给丁义珍报信的人是谁,当期应报信息列表是什
雪花梨甜的是泡糖精水的吗
小枣子怎么煮的做法
带我去趟温州瑞安塘下鲍七吧
艾特8090形象设计怎么去啊,有知道地址的么
为了加强电力生产什么,规范什么人员的行为,
新浪微博评论里以上为热门评论是什么意思?
我做了十几年鞋,现在想开个鞋厂怎么样
a、b、c三种固体物质的溶解度曲线如图所示,
推荐资讯
交通事故调解申请书什么时间上交?
方程x2+2x-3=0的两个根分别是:x1=________,
当代作家语言特色最具质感的是哪个
100l汽车cng罐重多少
想报个北京的专升本自考不知道哪个机构比较靠
qq群或讨论组怎么艾特全体成员?最好有图。
英山县科文中学地址在哪,我要去那里办事
但愿如此吧! 用英语怎么说?急 急 急
“从以往的操作经验上看”英文该怎么说
我贷款4000,未成年
怎么就做不到和邻居亲密无间
求解释A选项为什么错了呀,什么叫固定执行8次
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?