0

Мне нужно получить информацию о последних приложениях использования.Android получить UsageStatsManager в API уровне 21

Перед использованием API 21 было использовано getRunningTasks или getRecentTasks для получения этой информации. Эти методы были устаревшими в API 21 в соответствии с документами.

Существует UsageStatsManager класс сейчас, введенный в уровне API 21.
Но! Context.getSystemService (UsageStatsService) was added only in API level 22!

Вопрос заключается в том - как получить необходимые данные в API 21 ?? Согласно dashboards, на этом уровне API есть 13% пользователей, я не хочу их потерять.

ответ

1

Ну Context#getSystemService(...) был введен в уровне API 1, но контексты USAGE_STATS_SERVICE Строка была введена в уровне 22. API Так общественности статической конечной строки поле Context.USAGE_STATS_SERVICE могут быть доступны только на устройствах с 22 уровня и выше API. Чтобы получить необходимые данные на уровне API 21, вам просто нужно передать этому методу разрешенную строку «usagestats».

Т.Л., др
Используйте Context.getSystemService("usagestats")

Дополнительные примечания:
# 1 Поле USAGE_STATS_SERVICE уже в уровне API 21, но был помечен с @hide имущества, сделанные в недоступный. В уровне API 22 это было удалено.

# 2 Вы можете включить инспекции атрибуции для данного метода с помощью @SuppressWarnings("WrongConstant") иначе Android Studio будет жалоба, что он не является допустимым постоянным

Смежные вопросы