8

He visto varias aplicaciones y redes publicitarias como startapp cambiando la página principal del navegador web de Android por código. ¿Cómo es esto posible?Página de inicio del navegador web Android

He echado un vistazo al startapp sdk pero no he logrado encontrar la pieza donde cambian la página de inicio.

También he echado un vistazo a la BrowserSettings en com.android.browser.BrowserSettings

En BrowserSettings, hay una interfaz llamada setHomepage(Context, String).

public void setHomePage(Context context, String url) { 
    Editor ed = PreferenceManager. 
      getDefaultSharedPreferences(context).edit(); 
    ed.putString(PREF_HOMEPAGE, url); 
    ed.commit(); 
    homeUrl = url; 
} 

I no sabe mucho de Java/Android, por lo que me corrija si estoy equivocado: El setHomepage() no se ha declarado estática por lo que no se puede llamar de otras actividades. Entonces no puedo usar esto

No puedo ver ningún Modo aplicado a las Preferencias Compartidas, por lo que significa que tomará Privado como Modo por defecto y no podrá editar las Preferencias Compartidas o?

Algunas personas han dicho que podría ser posible hacerlo con contentProvider/Resolver.

Enlace para BrowserSettings.java

sería apreciada Cualquier ayuda o pensamientos :)

+0

¿Es porque no quiere iniciar el navegador en una página determinada? –

+0

@AndersMetnik Realmente no entiendo lo que quieres decir. Quiero configurar la página de inicio del navegador por código. No para lanzar una url. –

+0

¿Quiere decir que quiere establecer la página de inicio predeterminada? –

Respuesta

3

estoy con Diane HackBorn (Google's Android Engineer) on this one: esto no debería ser posible, ya que sería una falla de seguridad de la plataforma.

Si es posible, sería a través de algún tipo de pirateo (es decir, una aplicación con acceso raíz que puede escribir directamente en el archivo de configuración de la aplicación del navegador).

1

Veo que mencionaste startapp. He revisado su descompilado SDK, pero no puedo encontrar nada sobre la "parte cambiante de la página de inicio".

También sé que lo hacen, pero no puedo encontrarlo en el SDK. Tal vez alguien con mejor entendimiento para Android pueda echarle un vistazo. Tengo un teléfono Android con 2.2 sin acceso de root y lograron cambiar la página de inicio.

0

con permisos de root, se puede ir a los /data/app/com.android.browser/shared_prefs

que tiene allí el archivo XML para las preferencias compartidas.

Solo necesita editar PREF_HOMEPAGE entrada xml.

sin raíz es imposible, ya que necesitará permisos de raíz para acceder a ese directorio.

Cuestiones relacionadas