在应用程序中以编程方式读取logcat我想阅读并回应我的应用程序中的logcat日志。我找到了以下代码:try {
Process process = Runtime.getRuntime().exec("logcat -d");
BufferedReader bufferedReader = new BufferedReader(
new InputStreamReader(process.getInputStream()));
StringBuilder log=new StringBuilder();
String line = "";
while ((line = bufferedReader.readLine()) != null) {
log.append(line);
}
TextView tv = (TextView)findViewById(R.id.textView1);
tv.setText(log.toString());
} catch (IOException e) {}此代码确实返回在应用程序启动之前所做的logcat日志 -但是有可能连续监听甚至新的logcat日志吗?
3 回答
慕森王
TA贡献1777条经验 获得超3个赞
只需删除上面代码中的“-d”标志,即可继续阅读日志。
“-d”标志指示logcat显示日志内容并退出。如果删除该标志,logcat将不会终止并继续发送添加到其中的任何新行。
请记住,如果设计不正确,可能会阻止您的应用程序。
祝好运。
精慕HU
TA贡献1845条经验 获得超8个赞
您可以使用此方法清除您的logcat,我将其用于在将logcat写入文件后清除,以避免重复的行:
public void clearLog(){ try { Process process = new ProcessBuilder() .command("logcat", "-c") .redirectErrorStream(true) .start(); } catch (IOException e) { }}
- 3 回答
- 0 关注
- 536 浏览
添加回答
举报
0/150
提交
取消