Java 在Android上,UsageEvents.Event getClass().getName()只返回Android.app.usage.UsageEvents$事件,而不返回名称

Java 在Android上,UsageEvents.Event getClass().getName()只返回Android.app.usage.UsageEvents$事件,而不返回名称,java,android,usageevents,Java,Android,Usageevents,我正在尝试获取Android应用程序的使用情况。安卓系统提供了一个获取这些信息的平台。要获取事件,我需要设置时间并从不同的应用程序中检索事件列表,我只对自己应用程序中的事件感兴趣 UsageStatsManager usm = (UsageStatsManager)context.getSystemService(USAGE_STATS_SERVICE); Calendar calendar = Calendar.getInstance(); long endTime = calendar.ge

我正在尝试获取Android应用程序的使用情况。安卓系统提供了一个获取这些信息的平台。要获取事件,我需要设置时间并从不同的应用程序中检索事件列表,我只对自己应用程序中的事件感兴趣

UsageStatsManager usm = (UsageStatsManager)context.getSystemService(USAGE_STATS_SERVICE);
Calendar calendar = Calendar.getInstance();
long endTime = calendar.getTimeInMillis();
calendar.add(Calendar.WEEK_OF_YEAR, -1);
long startTime = calendar.getTimeInMillis();
List<UsageStats> luStats = usm.queryUsageStats(UsageStatsManager.INTERVAL_DAILY,startTime,endTime);
while (uEvents.hasNextEvent()){
    UsageEvents.Event e = new UsageEvents.Event();
    uEvents.getNextEvent(e);
    if (e != null){
        Log.d(TAG, "Event: " + e.getPackageName() + "\t" +e.getClass().getName()+ "\t" +  dateFormat.format(new Date (e.getTimeStamp())));
            }
        }
usagestastsmanager usm=(usagestastsmanager)context.getSystemService(USAGE\u STATS\u SERVICE);
日历=Calendar.getInstance();
long-endTime=calendar.getTimeInMillis();
calendar.add(calendar.WEEK\u OF\u YEAR,-1);
long startTime=calendar.getTimeInMillis();
List luStats=usm.queryUsageStats(UsageStatsManager.INTERVAL\u DAILY、startTime、endTime);
while(uEvents.hasNextEvent()){
UsageEvents.Event e=新的UsageEvents.Event();
uEvents.getNextEvent(e);
如果(e!=null){
Log.d(标记,“事件:”+e.getPackageName()+“\t”+e.getClass().getName()+“\t”+dateFormat.format(新日期(e.getTimeStamp()));
}
}
问题是
e.getClass().getName()
的结果不是所用类的名称,而是
android.app.usage.UsageEvents$Event
。我做错了什么?如何从事件中检索类的名称

任何线索都将不胜感激

我发现了我的错误

我需要的方法是
getClassName()
,而不是
getClass().getName()
。我在事件
e
中更改了它,我可以检索所有正在查找的类