Red de conocimiento informático - Material del sitio web - Cómo modificar el UserAgent del navegador integrado de Android

Cómo modificar el UserAgent del navegador integrado de Android

Recientemente, he estado desarrollando Chrome Lite, el navegador que viene con Android, y quiero modificar su UserAgent. plataforma/paquetes/Navegador/Configuración plataforma/paquetes/aplicaciones/Browser/src/com/android/browser/BrowserSettings.java

2. xml

Encontré este párrafo en strings.xml:

¿ver copia simple en portapapeles?

&Android

Escritorio

iPhone

0

< item>1

2

Este párrafo en pref_development_ua_coices corresponde a El nombre de la opción al seleccionar UserAgent en el modo de depuración del navegador, y pref_development_ua_values ​​​​corresponden a diferentes UserAgents, discutiremos a qué corresponden estos números más adelante;

Encuentre estos dos párrafos en BrowserSettings.java:

¿ver copia simple en el portapapeles?

private static final String DESKTOP_USERAGENT = "Mozilla/5.0 (Macintosh; " +

"U; Intel Mac OS /p>

cadena final estática privada IPHONE_USERAGENT = "Mozilla/5.0 (iPhone; U; " +

"CPU iPhone OS 3_0 como Mac OS X; es-us) AppleWebKit/528.18 " +

"(KHTML, como Gecko) Version/4.0 Mobile/7A341 Safari/528.16";

¿ver copia simple en el portapapeles?

actualización de vacío público (Observable o, Objeto arg) {

BrowserSettings b = (BrowserSettings)o;

WebSettings s = mSettings;

s.setLayoutAlgorithm(b. layoutAlgorithm);

if (b.userAgent == 0) {

//Usar cadena UA predeterminada

s.setUserAgentString (IPHONE_ USERAGENT);

}

Esto muestra que la primera parte del código Java es una cadena de UserAgent diferente y, a partir de la segunda parte del código, puede ver la correspondencia entre los matriz de enteros en strings.xml y los diferentes UserAgent. Entre ellos, 0 corresponde al UserAgent predeterminado, que es Android.

UserAgent propio de Chrome Lite, 1 corresponde al UserAgent de Mac OS, y 2 corresponde al UserAgent de IPhone OS.

Con la información anterior, no es difícil agregar tu propio UserAgent. Agregue un nombre para la opción UserAgent, luego un número de serie, luego agregue su propia cadena UserAgent en BrowserSettings.java y escriba después del último if

¿ver copia simple en portapapeles?

else if (b.userAgent == 3) {

s.setUserAgentString(YOUR_OWN_USERAGENT);

}

¡Y listo!