在 Android UsageEvents.Event getClass().getName() returns 上仅 android.app.usage.UsageEvents$Event 而不是名称
on Android UsageEvents.Event getClass().getName() returns only android.app.usage.UsageEvents$Event and not the name
我正在尝试获取我的 Android 应用程序的使用情况。 Android 提供 package 来获取该信息。要获取事件,我需要设置时间并检索来自不同应用程序的事件列表,我只对来自我自己的应用程序的事件感兴趣。
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())));
}
}
问题是 e.getClass().getName()
的结果不是使用的 class 的名称,而只是 android.app.usage.UsageEvents$Event
。我究竟做错了什么?如何从事件中检索 class 的名称?
感谢任何线索!
我发现了我的错误。
我需要的方法是 getClassName()
而不是 getClass().getName()
。我在事件 e
上更改了它,我可以检索所有正在寻找的 类。
我正在尝试获取我的 Android 应用程序的使用情况。 Android 提供 package 来获取该信息。要获取事件,我需要设置时间并检索来自不同应用程序的事件列表,我只对来自我自己的应用程序的事件感兴趣。
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())));
}
}
问题是 e.getClass().getName()
的结果不是使用的 class 的名称,而只是 android.app.usage.UsageEvents$Event
。我究竟做错了什么?如何从事件中检索 class 的名称?
感谢任何线索!
我发现了我的错误。
我需要的方法是 getClassName()
而不是 getClass().getName()
。我在事件 e
上更改了它,我可以检索所有正在寻找的 类。