如何从logcat连续获取日志?
我想在自己的设备上阅读日志。此服务实际上是在停止或卸载另一个应用程序时发送短信。如果来自logcat的日志匹配字符串,如“正在删除包com.package.name”,则会发送短信。
是否有一个函数我可以调用一次连续发送日志到我的服务。如果没有,我正在考虑每秒运行下面的代码:
Process process = Runtime.getRuntime().exec("logcat logcat -b events");
BufferedReader bufferedReader = new BufferedReader(
new InputStreamReader(process.getInputStream()));
StringBuilder log=new StringBuilder();
String line;
while ((line = bufferedReader.readLine()) != null) {
Toast.makeText(LogReaderService.this, line, Toast.LENGTH_LONG).show();
}
或者还有其他解决方法吗?
答案 0 :(得分:0)
我认为这是你能做到的唯一方法。
请勿将其放入生产应用程序中,每隔一秒钟就会耗尽设备上的电池电量。
另请注意,并不要求所有设备在您感兴趣的情况下发送相同的日志消息。很可能有些设备有稍微改变的日志消息,甚至可能没有一点都不因此,如果您打算涵盖各种设备,则需要对每个设备进行测试,以确保它们实际上为您提供了您正在寻找的日志输出。