2011-08-19 14 views
6

Come probabilmente sapete, quando si chiama * # * # 4 6 3 6 # * # * viene visualizzato un menu di test.lettura delle informazioni sull'utilizzo dell'applicazione

In questo menu si seleziona> statistiche dell'applicazione per leggere il tempo di utilizzo dell'applicazione e il conteggio del pranzo.

Desidero creare un programma di avvio intelligente che utilizzi queste informazioni.

Qualcuno può indicarmi un codice sorgente che implementa la lettura di queste informazioni?

+0

+1 per il menu di test nascosto :) – OcuS

+0

@OcuS: non è il menu di test, "4636" legge "INFO" sulla tastiera del telefono. – lenik

+0

Non funziona per me su Samsung Galaxy S7. Funziona su Nexus 5X. E 'una funzione recente in quanto S7 è su 7.0 quando N5X è su 7.1.2? – Eselfar

risposta

0

La fonte di questo menù si possono trovare all'interno dell'applicazione Impostazioni nella https://android.googlesource.com/platform/packages/apps/Settings

Se si guarda nel logcat, vedrete tht entrare che i risultati di codice USSD nel lancio di un intento:

l'attività di inizio: Intento {atto = android.intent.action.MAIN FLG = 0x10000000 CMP = com.android.settings/.TestingSettings}

che è fondamentalmente solo un normale lancio di attività, solo per un'attività non launcher . Probabilmente è possibile attivare quell'intenzione da un programma, o facendo in modo che il tuo programma componga il codice ussd.

Cercare di acquisire i dati da utilizzare in un programma sarà tuttavia difficile. L'applicazione delle impostazioni gira sotto il "sistema" uid, ed è in grado di rivendicare molte autorizzazioni non disponibili per le app di terze parti. Le persone coinvolte nella modifica delle impostazioni sono quasi completamente limitate e anche una buona parte dei permessi di lettura probabilmente lo sono.

Guardando attraverso la fonte dell'app Impostazioni sarete in grado di vedere come sta facendo le cose; guardando AndroidManifest.xml ti mostreremo quali permessi sta usando - sfortunatamente, la maggior parte di ciò che probabilmente vorrai fare probabilmente richiede quelli da quella lista che non puoi ottenere per la tua applicazione.

+0

Grazie! Quindi, in pratica, ho bisogno di creare un servizio che registri il pranzo dell'applicazione per raccoglierlo da solo? qualcuno può raccomandare e un esempio di codice sorgente che implementa questo? – Karako2017

+0

@VadimKotov se vuoi insistere nel modificare le risposte vecchie e obsolete nonostante la mia chiara richiesta di non farlo, per favore * almeno * mantenere la formattazione originale. Sto specificatamente mostrando la destinazione del collegamento nel corpo in modo che le persone sappiano dove stanno andando - in molti modi, capire dove si adatta il codice nella gerarchia di sorgenti Android è la parte più utile dei link, indipendentemente dal fatto che funzionino o siano morti . Ancora una volta, preferirei che non li avessi resi inutili nella pagina principale modificandoli, ma almeno preservando l'intento originale con la gerarchia di origine visibile. –

+0

@ChrisStratton ok, lo farà –

Problemi correlati