2013-02-21 112 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

相关问题