2016-07-15 97 views
6

Desidero leggere i registri da altre app e filtrarli in modo che quando viene registrata una determinata parola chiave, la mia applicazione esegua una determinata attività.Come ottenere i registri di altre app?

Ho trovato diversi metodi di lettura dei registri, ma dal mio test sono riuscito a ottenere solo i registri delle applicazioni.

Questo è il metodo che ho inizialmente provato ad usare

try { 
    Process process = Runtime.getRuntime().exec("logcat -d"); 
    BufferedReader bufferedReader = new BufferedReader(
    new InputStreamReader(process.getInputStream())); 

    StringBuilder log=new StringBuilder(); 
    String line = ""; 
    while ((line = bufferedReader.readLine()) != null) { 
    log.append(line); 
    } 
    TextView tv = (TextView)findViewById(R.id.textView1); 
    tv.setText(log.toString()); 
    } 
catch (IOException e) {} 

Ma sembra che legge solo i log della mia app.

risposta

4

È possibile leggere i registri di tutte le app solo se il dispositivo è rootato.

Se si desidera leggere i registri dei dispositivi rooted, this dovrebbe essere di aiuto. Tuttavia, dovrai impostare targetSdk su 16.

+0

Hai il codice per questo? Questo è quello che sto cercando. – Rosenpin

+0

Non sono sicuro se capisci cosa significa fare il root di un dispositivo. Per favore leggi [questo] (http://www.digitaltrends.com/mobile/how-to-root-android/). –

+0

So molto bene cosa sia un dispositivo rooted .. Non è un problema per me rendere solo la mia app root. Sto solo chiedendo al tuo codice di leggere i log di sistema sui dispositivi rooted. – Rosenpin