2011-08-19 8 views
6

Como probablemente sepa, al marcar * # * # 4 6 3 6 # * # * aparece un menú de prueba.leyendo la información de uso de la aplicación

En este menú, selecciona> estadísticas de la aplicación para leer el tiempo de uso de la aplicación y la cantidad de almuerzos.

Quiero construir un iniciador inteligente que utilice esta información.

¿Alguien me puede indicar un código fuente que implemente la lectura de esta información?

+0

+1 para el menú de prueba oculto :) – OcuS

+0

@OcuS: no está probando el menú, "4636" lee "INFO" en el teclado del teléfono. – lenik

+0

No funciona para mí en Samsung Galaxy S7. Funciona en Nexus 5X. ¿Es una característica reciente ya que el S7 está en el 7.0 cuando el N5X está en 7.1.2? – Eselfar

Respuesta

0

La fuente para este menú se puede encontrar dentro de la aplicación de ajustes en https://android.googlesource.com/platform/packages/apps/Settings

Si nos fijamos en Logcat, verá THT entrar en que los resultados de código USSD en la deflagración de la intención:

la actividad de inicio: Intención {act = android.intent.action.MAIN flg = 0x10000000 cmp = com.android.settings/.TestingSettings}

que es básicamente sólo un lanzamiento actividad normal, sólo para una actividad no lanzador . Probablemente pueda disparar esa intención desde un programa, o haciendo que su programa marque el código ussd.

Sin embargo, tratar de capturar los datos para usar en un programa será difícil. La aplicación de configuración se ejecuta bajo el "sistema" uid y puede reclamar muchos permisos que no están disponibles para aplicaciones de terceros. Quienes participan en el cambio de configuraciones están casi totalmente restringidos, e incluso una buena cantidad de los permisos de lectura probablemente también lo estén.

Al mirar a través de la fuente de la aplicación de configuración, podrá ver cómo está haciendo las cosas; al mirar el AndroidManifest.xml, se le mostrarán los permisos que está utilizando; desafortunadamente, la mayoría de lo que probablemente desee hacer probablemente requiera de la lista que no puede obtener para su aplicación.

+0

¡Gracias !, entonces lo que básicamente tengo que hacer es crear un servicio que registre el almuerzo de la aplicación para reunirlo yo mismo. ¿Alguien puede recomendar y un ejemplo de código fuente que implemente esto? – Karako2017

+0

@VadimKotov si va a insistir en editar las respuestas viejas y obsoletas, a pesar de mi clara solicitud de que no lo haga, por favor * al menos * mantenga el formato original. Estoy mostrando específicamente el destino del enlace en el cuerpo para que las personas sepan adónde van; de muchas maneras, comprender dónde encaja el código en la jerarquía de fuentes de Android es la parte más útil de los enlaces, independientemente de si funcionan o están muertos. . De nuevo, preferiría que no los moviera innecesariamente en la página principal modificándolos, pero al menos conserve el intento original con la jerarquía de fuentes visible. –

+0

@ChrisStratton vale, haremos eso –

Cuestiones relacionadas