Запуск моей активности при запуске любого (или выбранного) приложения

Я разрабатываю приложение для обучения. В нем у меня есть действие, в котором пользователь может выбрать некоторые приложения из списка всех приложений, установленных на его устройстве.

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

Как мне «захватить» эту часть «Запуск других приложений»? Широковещательные приемники? Любой пример будет очень полезен. Я был бы очень признателен, если бы кто-нибудь указал мне правильное направление со ссылками на ссылки.

Это очень похоже на приложение блокировки приложений. Но в очень извращенном виде. Я знаю, что мне нужно использовать фоновую службу для мониторинга активности пользователя.


person Ashok Goli    schedule 22.03.2011    source источник


Ответы (1)


Вы не перехватываете произвольные запуски приложений, если это то, что вам нужно. Это молчаливо противоречит модели безопасности Android (или любой другой разумной модели).

Что вы можете сделать, так это предложить альтернативный главный экран.

Однако, если у вас есть просто список доступных приложений, ничто не мешает вам определить настраиваемое поведение в этом списке действий.

person Pontus Gagge    schedule 22.03.2011
comment
Привет Понтус, Спасибо за быстрый ответ. Если это противоречит модели безопасности Android, то как приложениям безопасности удается это делать? Я имею в виду те, которые предлагают заблокировать выбранные приложения с помощью графического ключа или экрана блокировки. Им удается запускать собственное приложение/активность, когда мы открываем любое заблокированное приложение. - person Ashok Goli; 22.03.2011
comment
Что могут сделать приложения безопасности, так это либо заменить домашний экран (непопулярно), либо регулярно проверять, какие приложения запущены (не надежно). Они требуют довольно высоких привилегий. Это не новый вопрос: см., например. stackoverflow.com/questions/3290936 / - person Pontus Gagge; 22.03.2011
comment
Эй, Понтус, спасибо. Это было именно то, что я искал :) Хотя ответ был расплывчатым, в этом была суть моей проблемы. - person Ashok Goli; 23.03.2011