Как можно обнаружить запуск приложения Android? - PullRequest
13 голосов
/ 31 мая 2011

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

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

Ответы [ 2 ]

16 голосов
/ 31 мая 2011

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

5 голосов
/ 31 мая 2011

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...