1

我正在尝试在我的 Android 应用程序上使用。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())));
            }
        }

问题是结果 frome.getClass().getName()不是所使用的类的名称,而只是android.app.usage.UsageEvents$Event. 我究竟做错了什么?如何从事件中检索类的名称?

任何线索表示赞赏!

4

1 回答 1

1

我发现了我的错误。

我需要的方法是getClassName()代替getClass().getName(). 我在 Event 上更改了它e,我可以检索所有正在寻找的类。

于 2018-01-18T20:02:47.690 回答