Ho cercato lo StackOverflow per questa domanda e ha trovato: Android, Detect when other apps are launched e Reliable way to detect application launch from home/desktop?, che tipo di risposte alla mia domanda, ma non è ancora abbastanza.Rilevamento attività Android lancia
Quello che voglio fare Voglio creare un widget/app che mostra l'utente del dispositivo un elenco delle app recenti e un elenco di applicazioni più utilizzate.
Problema Come posso avere dati precisi sulle app per creare un elenco di app più utilizzate.
informazioni Base
- sto la compilazione il mio sistema operativo Android (4.2 based) codice in modo che hanno accesso a tutto.
- Sto sviluppando anche il programma di avvio.
- È necessario superare il CTS ed essere approvato da Google.
- Posso rendere l'app con i privilegi di sistema.
- So che questo potrebbe essere un problema di sicurezza per Google.
Alcune soluzioni
Le recenti applicazioni possono essere trovati tramite ActityManager, metodo getRecentApps, così ora c'è problema.
Ho cercato il web per questo e già trovato le seguenti soluzioni:
- Utilizzare un servizio per interrogare l'ActivityManager, metodo di getRunningTasks ogni X secondi e costruire la lista (informazioni innacurate, anche con un sacco di batery).
- Utilizzare il logcat per ottenere queste informazioni (sembra un trucco per me, ha bisogno di autorizzazioni di sistema)
- Modificare l'ActivityManager stesso, al fine di fornire queste informazioni (molto probabilmente fallire i test CTS)
- Utilizzare il programma di avvio per verificare le app che sono state lanciate (mancano le app lanciate all'interno di altre app)
Qualcos'altro che ho perso?
Grazie in anticipo, Tiago Costa
È abbastanza molto inchiodato elencando tutte e 4 le opzioni. Il mio preferito sta usando '(ActivityManager) this.getSystemService (ACTIVITY_SERVICE);' – srf
Grazie per la risposta, ho intenzione di provarli tutti e vedere quale funziona meglio. Grazie ancora. –
logcat non funziona con Android 4.2 e versioni successive, a meno che non si disponga delle autorizzazioni di root, vedere https://groups.google.com/forum/?fromgroups=#!topic/android-developers/6U4A5irWang – mattlaabs