Можно ли динамически контролировать или подвергать цензуре запуск приложений Android?

Я заинтересован в разработке пользовательского лаунчера для Android, который будет установлен на устройство в первую очередь для цензуры. В идеале устройство должно перенаправлять попытки запуска приложений в службу, которая на основе профиля будет решать, будет ли пользователю разрешено продолжить работу или будет показан блок-экран/перенаправлен на информационную веб-страницу.

Можно ли обнаружить и прервать запуск приложения с помощью какой-либо фоновой службы или подключаемого прослушивателя? Или, в качестве альтернативы, возможно ли, чтобы средство запуска запускало приложение, отличное от того, на которое нажали, чтобы обеспечить косвенность?

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


person Jeff    schedule 05.06.2013    source источник
comment
Замена программы запуска даст вам некоторый контроль над запуском вещей из программы запуска, но это не единственный способ запуска, и программа запуска не может предотвратить замену себя.   -  person Chris Stratton    schedule 05.06.2013
comment
На самом деле можно заблокировать пользователей в программе запуска - выход из нее может быть защищен паролем, что в сочетании с установкой программы запуска по умолчанию, по-видимому, позволяет достичь этого (исключая возможность запуска пользователя в режиме восстановления и т. д.).   -  person Jeff    schedule 06.06.2013
comment
именно из-за режима восстановления невозможно предотвратить отмену выбора вредоносной программы запуска.   -  person Chris Stratton    schedule 06.06.2013


Ответы (1)


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

person CaseyB    schedule 05.06.2013