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

¿Cómo modificar el UserAgent del navegador de Android?

Recientemente, he estado desarrollando el navegador Chrome Lite que viene con Android y quiero modificar su UserAgent. plataforma/packs/browser/BrowserSettings plataforma/packages/apps/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 Seleccionar el El nombre de la opción de UserAgent en el modo de depuración del navegador, y pref_development_ua_values ​​​​corresponde a diferentes UserAgent. Discutiré 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; en-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)setUserAgentString(IPHONE_USERAGENT);

}

A partir de esto Podemos ver que la primera pieza de código Java es una cadena UserAgent diferente, y desde la segunda pieza de código podemos ver la correspondencia entre esa matriz de números enteros en cadenas. Entre ellos, 0 corresponde al UserAgent predeterminado, que es el UserAgent que. Viene con Android Chrome Lite, 1 corresponde al UserAgent de Mac OS y 2 corresponde al UserAgent de IPhone OS.

Con la información anterior, agregar tu propio UserAgent no es difícil. 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);

}

¡Entonces ya está!