Necesito monitorear de alguna manera el registro LogCat, lo que significa que mientras mi servicio se está ejecutando necesito leer el LogCat para nuevas entradas. En este momento sólo sé cómo recuperar una vez que el registro:¿Cómo se monitorea constantemente el archivo LogCat?
Process mLogcatProc = null;
BufferedReader reader = null;
try
{
mLogcatProc = Runtime.getRuntime().exec(new String[]
{"logcat", "-d", "ActivityManager:I *:S" });
reader = new BufferedReader(new InputStreamReader
(mLogcatProc.getInputStream()));
String line;
final StringBuilder log = new StringBuilder();
String separator = System.getProperty("line.separator");
while ((line = reader.readLine()) != null)
{
log.append(line);
log.append(separator);
}
Si quito la opción -d no va a salir, sino también que tampoco lo hará el trabajo. Entonces, ¿cómo puedo modificar el código de abajo para leer continuamente nuevas entradas de LogCat?
¿Puedo preguntar por qué quieres hacer esto? Suena como una idea generalmente mala. – torkildr
adb logcat? ¿Por qué quieres logcat dentro de tu programa? –
Porque parece ser la única forma de saber cuándo comienza una actividad. Para qué ? Para una aplicación de protección de aplicaciones. Como App Protector ... y si miras los permisos, necesita leer los registros del sistema ... – Alex