在android的Browser中设置User Agent
来源:互联网 发布:数据库like用法 编辑:程序博客网 时间:2024/06/04 19:49
在android的Browser中设置User Agent
默认的Android的Browser中无法设置User Agent,但是在Browser的源码中可以看到,android提供了4中User Agent 具体代码如下:
在Browser的 src/com/android/browser/BrowserSettings.java
private static final String DESKTOP_USERAGENT = "Mozilla/5.0 (Macintosh; " +
"U; Intel Mac OS X 10_6_3; en-us) AppleWebKit/533.16 (KHTML, " +
"like Gecko) Version/5.0 Safari/533.16";
private static final String IPHONE_USERAGENT = "Mozilla/5.0 (iPhone; U; " +
"CPU iPhone OS 4_0 like Mac OS X; en-us) AppleWebKit/532.9 " +
"(KHTML, like Gecko) Version/4.0.5 Mobile/8A293 Safari/6531.22.7";
private static final String IPAD_USERAGENT = "Mozilla/5.0 (iPad; U; " +
"CPU OS 3_2 like Mac OS X; en-us) AppleWebKit/531.21.10 " +
"(KHTML, like Gecko) Version/4.0.4 Mobile/7B367 Safari/531.21.10";
private static final String FROYO_USERAGENT = "Mozilla/5.0 (Linux; U; " +
"Android 2.2; en-us; Nexus One Build/FRF91) AppleWebKit/533.1 " +
"(KHTML, like Gecko) Version/4.0 Mobile Safari/533.1";
提供了4中不同的User Agent,但是在浏览器中无法进行设置。
在Browser的setting中添加设置User Agent的选项:
1.在 res/xml/browser_preferences.xml中添加:
<ListPreference
android:key="user_agent"
android:title="@string/pref_user_agent"
android:defaultValue="0"
android:entries="@array/pref_development_ua_choices"
android:entryValues="@array/pref_development_ua_values"
android:dialogTitle="@string/pref_user_agent_dialogtitle" />
2.在res/value/string.xml中添加对应的字符串,多语言的具体到不同的文件夹(自己添加)<string name="pref_user_agent">User agent</string><string-array name="pref_development_ua_choices" translatable="false">
<string name="pref_user_agent_dialogtitle" translatable="false">User Agent</string>
<item>Android</item>
<item>Desktop</item>
<item>iPhone</item>
<item>iPad</item>
<item>Froyo-N1</item>
<item>NexusOne</item>
<item>Samsung i9000</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>
<item>4</item>
<item>5</item>
<item>6</item>
</string-array>
3. 在 src/com/android/BrowserSettings.java 中添加
- public final static String PREF_USER_AGENT = "user_agent";
4.在 src/com/android/BroserPreferencesPage.java 中添加private CharSequence getVisualUserAgent(String enumName) {
CharSequence result = "";
CharSequence[] visualNames = getResources().getTextArray(
R.array.pref_development_ua_choices);
CharSequence[] enumNames = getResources().getTextArray(R.array.pref_development_ua_values);
if (visualNames.length == enumNames.length) {
for (int i = 0; i < enumNames.length; i++) {
if (enumNames[i].equals(enumName)) {
result = visualNames[i];
}
}
}
return result;
}
5. 在BroserPreferencesPage.java的OnCreate方法中添加e = findPreference(BrowserSettings.PREF_USER_AGENT);
e.setOnPreferenceChangeListener(this);
e.setSummary(getVisualUserAgent(
getPreferenceScreen().getSharedPreferences()
.getString(BrowserSettings.PREF_USER_AGENT, null)));
6.在BroserPreferencesPage.java的onPreferenceChange 方法中添加
else if (pref.getKey().equals(BrowserSettings.PREF_USER_AGENT)){
pref.setSummary(getVisualUserAgent((String)objValue));
return true;
}
7.在BrowserSettings.java的syncSharedPreferences方法中添加userAgent = Integer.parseInt(p.getString(PREF_USER_AGENT, "0"));
0 0
- 在android的Browser中设置User Agent
- 在android的Browser中设置User Agent
- 在android的Browser中设置User Agent
- 获得Browser使用的User Agent
- browser user agent
- 设置 chrome 浏览器的user-agent 为 ios,android
- android 设置webview的浏览器标识 User-Agent
- Firefox中User-Agent设置和用途
- 设置 PhantomJs 的 User-Agent 的方法
- c# 设置axwindows的User-agent信息
- History of the browser user-agent string
- 火狐设置User Agent
- PHP设置User Agent
- User Agent中对应的参数意义
- Nutch中User Agent的问题
- 浏览器中User-Agent的来龙去脉
- Android踩坑日记:Okhttp设置User-Agent你可能没遇到的坑
- android user agent修改
- 学习笔记(String类型)
- 验证 HTTPS 请求的证书(五)
- [iOS Swift3.0语法变化] 方便查询
- 算法导论之字符串匹配
- Linux 实时性能测试工具——Cyclictest 的使用与分析
- 在android的Browser中设置User Agent
- c++创建线程的常见问题:error: invalid conversion from 'void*' to 'void* (*)(void*)'
- Vim学习资料(整理)
- 静默安装vcredist_x86.exe
- 329. Longest Increasing Path in a Matrix
- 卷积与离散自相关
- React Router 使用教程
- uboot开机画面
- Android Studio使用技巧---良心推荐的实用功能