2016-07-15 85 views
6

我想从其他应用程序读取日志并对其进行过滤,以便在记录某个关键字时,我的应用程序将执行特定任务。如何获取其他应用程序的日志?

我发现了几种阅读日志的方法,但是从我的测试中我只能得到我的应用程序日志。

这是我最初试图使用

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) {} 

的方法,但现在看来似乎只是读我的应用程序的日志。

回答

4

如果设备已生根,则只能读取所有应用程序的日志。

如果您想读取扎根设备的日志,那么this应该对您有所帮助。但是,您必须将targetSdk设置为16.

+0

您是否拥有该代码? 这就是我要找的。 – Rosenpin

+0

我不确定您是否完全理解根设备的含义。请阅读[this](http://www.digitaltrends.com/mobile/how-to-root-android/)。 –

+0

我很清楚根植设备是什么...... 这对我来说只是让我的应用程序根不是问题。 我只是要求你的代码读取有根设备上的系统日志。 – Rosenpin

相关问题