【问题标题】:Android: Get logs continuouslyAndroid:连续获取日志
【发布时间】:2023-03-17 06:19:01
【问题描述】:

如何从logcat中连续获取日志?

我想在自己的设备上阅读日志。该服务实际上是为了在另一个应用程序停止或卸载时发送短信。如果来自 logcat 的日志匹配字符串如“Removing package 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();
}

或者还有其他解决方法吗?

【问题讨论】:

  • 从哪里来的?您自己的设备还是其他人的设备?
  • @xBroak - 已更新问题详情以回答您的问题

标签: java android process logcat


【解决方案1】:

我认为这是您可以做到的唯一方法。

不要将其放入生产应用程序中,每秒执行该工作会耗尽设备上的电池。

另外请注意,在您感兴趣的情况下,并不要求所有设备都发送相同的日志消息。很可能存在一些设备的日志消息略有改变,或者甚至没有一点也不。因此,如果您打算涵盖各种设备,则需要对每一个设备进行测试,以确保它们确实为您提供了您正在寻找的日志输出。

【讨论】:

  • 知道这很痛苦。我的客户想要监控我们的应用程序(跟踪器)是否​​被用户故意停止或卸载。这是管理层希望在员工手机上连续运行的企业应用程序。有解决方法吗? - @蒂姆
猜你喜欢
  • 1970-01-01
  • 2017-01-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-01-07
  • 2011-04-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多