На Android UsageEvents.Event getClass().getName() возвращает только событие android.app.usage.UsageEvents$, а не имя

Я пытаюсь получить использование в моем приложении для 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())));
            }
        }

Проблема в том, что результат от e.getClass().getName() это не имя класса, который был использован, а просто android.app.usage.UsageEvents$Event, Что я делаю неправильно? Как я могу получить имя класса из события?

Любая подсказка ценится!

1 ответ

Решение

Я нашел свою ошибку.

Метод, который мне нужен был getClassName() вместо getClass().getName(), Я изменил это на Событии e и я мог бы получить все классы, которые искали.

Другие вопросы по тегам