Android Browser UserAgent设置及查看
2016-03-11 17:09
435 查看
关于Android的Browser UserAgent一般有:DESKTOP_USERAGENT, IPHONE_USERAGENT,IPAD_USERAGENT, ANDROID_USERAGENT这几种,当然可以根据需求自己添加其他的UserAgent。
涉及到修改UserAgent的问题,一般会修改以下几个文件:
/package/apps/Browser/src/com/android/BrowserSettings.java
/package/apps/Browser/res/values/strings.xml
/package/apps/Browser/res/xml/debug_perferences.xml
具体操作如下:
一、 在BrowserSettings.java文件中操作(标红为要做的修改):
private static final String DESKTOP_USERAGENT = "Mozilla/5.0 (X11; " +
"Linux x86_64) AppleWebKit/534.24 (KHTML, like Gecko) " +
"Chrome/11.0.696.34 Safari/534.24";
private static final String IPHONE_USERAGENT = "XXX";
private static final String IPAD_USERAGENT = "XXX";
如果需要修改为以上几种没有的UserAgent,则需要在此处增加一个UserAgent;
例:增加一个ANDROID_USERAGENT,在此处增加:
private static final String ANDROID_USERAGENT = "XXX";
private static final String USER_AGENTS[] = { ANDROID_USERAGENT,
DESKTOP_USERAGENT,
IPHONE_USERAGENT,
IPAD_USERAGENT,
};
注:此处的顺序应当与Strings.xml文件中的一致!
public int getUserAgent() {
return Integer.parseInt(mPrefs.getString(PREF_USER_AGENT, "0"));
此处和debug_perferences.xml文件中的user_agent关联,都是用来设置默认的UserAgent。
}
二、在strings.xml文件中操作(标红为要做的修改):
<string-array name="pref_development_ua_choices" translatable="false">
<item>Android</item>
<item>Desktop</item>
<item>iPhone</item>
<item>iPad</item>
</string-array>
<!-- Do not tranlsate. Development option -->
<string-array name="pref_development_ua_values" translatable="false">
<item>0</item>
<item>1</item>
<item>2</item>
<item>3</item>
</string-array>
想要添加则需要在这两个string-array中都添加,往后添加。
三、在debug_perferences.xml文件中操作(标红为要做的修改):
<ListPreference
android:key="user_agent"
android:title="@string/pref_development_uastring"
android:entries="@array/pref_development_ua_choices"
android:entryValues="@array/pref_development_ua_values"
android:defaultValue="0"/>
若想修改默认的UserAgent,则需要在此处修改defaultValue的值,对应strings.xml文件中pref_development_ua_values。
UserAgent Type:
https://vardars.wordpress.com/2011/12/08/browser-user-agent-types-iphone-ipad-android-etc/
最后想查看结果的话,可以在BrowserSettings.java中添加
Log.i("BrowserSettings","current user agent >>>>>>>>>>> "+mCustomUserAgents.get(settings));
修改完成后编译Browser,将编译完的apk安装运行,输入命令
logcat -s BrowserSettings 查看UserAgent是不是自己想要的UserAgent。
注:Browser UserAgent根据源码可以看到是保存到本地sharePreference文件中的,因此,修改完重新安装时需要将数据清空或者删除掉本地的这个文件才能生效!
涉及到修改UserAgent的问题,一般会修改以下几个文件:
/package/apps/Browser/src/com/android/BrowserSettings.java
/package/apps/Browser/res/values/strings.xml
/package/apps/Browser/res/xml/debug_perferences.xml
具体操作如下:
一、 在BrowserSettings.java文件中操作(标红为要做的修改):
private static final String DESKTOP_USERAGENT = "Mozilla/5.0 (X11; " +
"Linux x86_64) AppleWebKit/534.24 (KHTML, like Gecko) " +
"Chrome/11.0.696.34 Safari/534.24";
private static final String IPHONE_USERAGENT = "XXX";
private static final String IPAD_USERAGENT = "XXX";
如果需要修改为以上几种没有的UserAgent,则需要在此处增加一个UserAgent;
例:增加一个ANDROID_USERAGENT,在此处增加:
private static final String ANDROID_USERAGENT = "XXX";
private static final String USER_AGENTS[] = { ANDROID_USERAGENT,
DESKTOP_USERAGENT,
IPHONE_USERAGENT,
IPAD_USERAGENT,
};
注:此处的顺序应当与Strings.xml文件中的一致!
public int getUserAgent() {
return Integer.parseInt(mPrefs.getString(PREF_USER_AGENT, "0"));
此处和debug_perferences.xml文件中的user_agent关联,都是用来设置默认的UserAgent。
}
二、在strings.xml文件中操作(标红为要做的修改):
<string-array name="pref_development_ua_choices" translatable="false">
<item>Android</item>
<item>Desktop</item>
<item>iPhone</item>
<item>iPad</item>
</string-array>
<!-- Do not tranlsate. Development option -->
<string-array name="pref_development_ua_values" translatable="false">
<item>0</item>
<item>1</item>
<item>2</item>
<item>3</item>
</string-array>
想要添加则需要在这两个string-array中都添加,往后添加。
三、在debug_perferences.xml文件中操作(标红为要做的修改):
<ListPreference
android:key="user_agent"
android:title="@string/pref_development_uastring"
android:entries="@array/pref_development_ua_choices"
android:entryValues="@array/pref_development_ua_values"
android:defaultValue="0"/>
若想修改默认的UserAgent,则需要在此处修改defaultValue的值,对应strings.xml文件中pref_development_ua_values。
UserAgent Type:
https://vardars.wordpress.com/2011/12/08/browser-user-agent-types-iphone-ipad-android-etc/
最后想查看结果的话,可以在BrowserSettings.java中添加
Log.i("BrowserSettings","current user agent >>>>>>>>>>> "+mCustomUserAgents.get(settings));
修改完成后编译Browser,将编译完的apk安装运行,输入命令
logcat -s BrowserSettings 查看UserAgent是不是自己想要的UserAgent。
注:Browser UserAgent根据源码可以看到是保存到本地sharePreference文件中的,因此,修改完重新安装时需要将数据清空或者删除掉本地的这个文件才能生效!
相关文章推荐
- Android Manifest 用法
- Android学习笔记(二九):嵌入浏览器
- IE:脱机浏览网页
- 深入Android Browser配置管理的详解
- C#实现图片上传与浏览切换的方法
- 兼容各个浏览器的技巧
- jquery插件推荐浏览器嗅探userAgent
- js识别不同浏览器基于userAgent做判断
- php检测useragent版本示例
- mysql query browser中文乱码的解决方法
- JS通过分析userAgent属性来判断浏览器的类型及版本
- C#编程实现简易图片浏览器的方法
- jsp 文件上传浏览,支持ie6,ie7,ie8
- jQuery 1.9移除了$.browser可以使用$.support来替代
- 用户代理字符串userAgent可实现的四个识别
- Android微信图片浏览框架设计
- asp.net 通过UserAgent判断智能设备(Android,IOS)
- 如何利用Object Browser图形化工具提高Oracle开发工作效率(一)SQL编写调试篇
- 通过snmp协议获取系统信息
- P2P技术和应用