Подтвердить что ты не робот

Как можно обнаружить запуск приложения для Android?

Можно ли обнаружить, когда приложение выполнено (то есть, когда пользователь нажимает на значок приложения)? Я попытался зарегистрировать намерение типа Intent.ACTION_MAIN, используя категорию типа Intent.CATEGORY_LAUNCHER, надеясь, что это даст мне знать всякий раз, когда запускается приложение. Проблема в том, что мой широковещательный приемник никогда не вызывается.

Является ли это незаконной комбинацией намерений/категорий для регистрации? Есть ли способ, который я могу использовать, чтобы определить, когда запускается запуск приложения?

4b9b3361

Ответ 1

Запуск приложения Intent не является широковещательным, поэтому нет возможности зарегистрировать широковещательный приемник и получить его. Как уже было сказано здесь, действительно невозможно определить запуск приложения. Вы могли бы написать службу, которая опросила запущенные задачи, которые ищут задачу приложения (используя интерфейс ActivityManager), но это лучшее, что я могу придумать, и это, вероятно, не очень показательно.

Ответ 2

При запуске приложения для общего случая нет никакого намерения трансляции. Если приложение, которое вы хотите обнаружить, принадлежит вам, вы можете запустить свою собственную трансляцию, но если нет, то нет, вы не сможете ее обнаружить.