Как определить время переднего плана приложения?

Как узнать время работы приложения Android, используемого на переднем плане. я использовал UsageStatsManager, но он не возвращает список пакетов.
пример кода, использованный по этой ссылке


person jeevashankar    schedule 05.03.2019    source источник
comment
вы запрашивали разрешение PACKAGE_USAGE_STATS в манифесте   -  person Aravind V    schedule 05.03.2019
comment
да, я добавил разрешение PACKAGE_USAGE_STATS в файл манифеста   -  person jeevashankar    schedule 05.03.2019


Ответы (1)


Я думаю, что лучший вариант - использовать методы обратного вызова жизненного цикла вашей деятельности. Время начала onCreate() первой активности, которую вы показываете своему пользователю. Время окончания может быть немного сложнее. Прежде всего, если у вас есть несколько действий, пользователь может выйти из любого из них, поэтому вам нужно отслеживать открытое в данный момент действие и отправлять время окончания, только если следующее действие не появляется. Вторая проблема заключается в том, какой метод обратного вызова следует использовать? Вызов onPause() не гарантируется, а onDestroy() не будет вызываться до тех пор, пока приложение не будет очищено от недавних. Так что probablt onStop() — правильное место.

Или вы можете использовать обратные вызовы вашего приложения. Просто получите класс Application и используйте его обратные вызовы для отслеживания времени.

person RexSplode    schedule 05.03.2019
comment
спасибо за ваш ответ, и это работает. я использовал обратные вызовы жизненного цикла активности в приложении. - person jeevashankar; 07.03.2019