Я искал stackoverflow для этого вопроса и нашел: Android, обнаружение при запуске других приложений и Надежный способ обнаружения запуска приложения из дома/рабочего стола, который отвечает на мой вопрос, но этого все еще недостаточно.
Что я хочу сделать Я хочу создать виджет/приложение, которое показывает пользователю устройства список последних приложений и список наиболее часто используемых приложений.
Проблема Как я могу получать точные данные о приложениях для создания списка наиболее часто используемых приложений.
Базовая информация
- Я собираю свой собственный код на базе ОС Android (4.2), поэтому у меня есть доступ к все.
- Я также запускаю пусковую установку.
- Он должен передать CTS и быть одобрен Google.
- Я могу сделать приложение с системными привилегиями.
- Я знаю, что это может быть проблемой безопасности для Google.
Некоторые решения
Недавние приложения можно найти через ActityManager, метод getRecentApps, поэтому теперь проблема там.
Я искал в Интернете для этого и уже нашел следующие решения:
- Используйте службу для запроса метода activityManager, getRunningTasks каждые X секунд и создания списка (неадекватная информация, также использующая много batery).
- Используйте logcat для получения этой информации (кажется, что это взломать мне, нужны системные разрешения)
- Измените сам ActivityManager, чтобы предоставить эту информацию (скорее всего, не пройдут тесты CTS)
- Используйте панель запуска для проверки запущенных приложений (пропускает приложения, запущенные в других приложениях).
Что-нибудь еще, что я пропустил?
Спасибо заранее, Tiago Costap >