2013-02-21 10 views
1

我用下面的代碼來讀取事件日誌EventLog.readEvents()在Android應用程序無法正常工作

final Collection<Event> events = new ArrayList<Event>(); 
    try { 
     final int tag = EventLog.getTagCode("am_proc_start"); 
     EventLog.readEvents(new int[] { tag }, events); 
     System.out.println(events); 
    } catch (final IOException e) { 
     e.printStackTrace(); 
    } 

但我得到的是一個空的事件列表。我仍然可以通過運行命令adb logcat events -v來獲取所有這些事件。

回答

2

首先添加android.permission.READ_LOGS權限,那麼在Android 4.1及以上版本,使用這個shell命令實際授予的權限:

adb shell pm grant your.app.package android.permission.READ_LOGS 

現在我可以成功讀取所有日誌。

+0

因此沒有辦法讀取沒有權限授予的事件日誌? – 2014-08-01 23:52:33

相關問題