2011-12-07 10 views

risposta

13

si può leggere questo codice dall'applicazione

ArrayList<String> commandLine = new ArrayList<String>(); 
commandLine.add("logcat"); //$NON-NLS-1$ 
commandLine.add("-d"); //$NON-NLS-1$ 
ArrayList<String> arguments = 
    ((params != null) && (params.length > 0)) ? params[0] : null; 
if (null != arguments) { 
    commandLine.addAll(arguments); 
} 

Process process = Runtime.getRuntime().exec(commandLine.toArray(new String[0])); 
BufferedReader bufferedReader = new BufferedReader(
    new InputStreamReader(process.getInputStream()), 1024); 

bufferedReader.readLine() 

Conservare questo BufferedReader in un costruttore di stringa o una stringa per controllare i registri di

sì è necessario il permesso nel file manifest:

<uses-permission android:name="android.permission.READ_LOGS"/> 
+0

Esiste un modo per eseguire ciò senza creare un processo diverso? perchè questi risultati non vengono cancellati la prossima volta che lo eseguiamo ... – AbhishekB

+3

Non vedo come l'autorizzazione di 'READ_LOGS' sia correlata all'avvio di logcat – basin