2013-06-17 3 views
10

Я прочитал много вопросов о том, можно ли запускать приложение для Android, но все ответы кажутся «нет, вы не можете».Запретить запуск приложения для Android

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

Как я уже говорил, все ответы, которые я мог найти там, подразделяются на две категории: «вы не можете этого сделать» и «вы можете это сделать, написав свое приложение для запуска».

Однако я видел приложения, такие как ZDBox, которые позволяют вам делать именно это. То есть, с помощью ZDBox вы можете определить «неавторизованные» приложения таким образом, что если пользователь попытается запустить один из них, ему нужно будет ввести ПИН-код, чтобы фактически запустить приложение. Если он не сможет его предоставить, приложение не запустится. Самое забавное, что ZDBox не требует доступа root для этого.

Итак, мой вопрос в том, как мы можем предотвратить запуск других приложений, как это делает ZDBox?

+0

+1 для запроса! – Swayam

ответ

3

Вариант 1

Все примеры, которые я видел включать работает приложение в качестве замены Launcher/Home Screen. Вот как работают все приложения стиля блокировки для детей. Это имеет преимущество

  • Нажатие кнопки Home не выходя из приложения
  • У вас есть контроль над приложением Запуск

Вы можете проверить андроид код Launcher2, чтобы увидеть, как работает Android запуска. https://android.googlesource.com/platform/packages/apps/Launcher2.git

Вариант 2

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

Как и то, как они обнаруживают запуск приложения в How to detect when the user launches another app? (Android)

+0

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

+0

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

+0

Хмммм, это похоже на интересный подход. Однако я не понимаю, что вы подразумеваете под «запуском моего приложения поверх». Я имею в виду, теперь мы можем обнаружить пользователя, запускающего приложение, но как мы можем теперь препятствовать ему запустить его, если он не предоставит действительный PIN-код? –

Смежные вопросы