Я делаю приложение, которое должно показывать мне в журналах, какие приложения я запускаю на устройстве. Я использую logcat ActivityManager:I *:S
, и это хорошо работает .. на некоторых устройствах и эмуляторах.Android, Logcat и BufferedReader - нет журналов
Но на некоторых устройствах он имеет странное поведение - все, что я вижу в журнале является повторение:
02-18 16:32:09.132: D/LockApp(4082): --------- beginning of /dev/log/main
фрагмент кода:
Process process = null;
try {
process = Runtime.getRuntime().exec("logcat -c");
process = null;
process = Runtime.getRuntime().exec("logcat ActivityManager:I *:S");
br = new BufferedReader(new InputStreamReader(process.getInputStream()));
String line = null;
line = br.readLine();
while(line != null && !this.isInterrupted()){
Log.d(Tag, "Start LockApp loop");
Log.d(Tag, line);
}
} catch (IOException e) {
Log.d(Tag, e.toString());
}
И я android.permission.READ_LOGS
в манифесте
Я делаю это в Android 4.1 и 4.2
Какое устройство вам не удалось? – StarPinkER
Вы вызываете только вызов br.readLine() один раз. Буфер может быть заполнен, продолжайте его читать. – StarPinkER
Он не работает в Asus Tf300 и u30gt-h – kemmotar