2016-07-15 67 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

相關問題