Android: как работает приложение Protector?

Может ли кто-нибудь пролить свет на то, как работают приложения, такие как App Protector, ES Security Manager (часть защитника приложения)

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

Он использует следующие разрешения

> android.permission.RECEIVE_BOOT_COMPLETED > android.permission.GET_TASKS > android.permission.INTERNET > android.permission.READ_LOGS > android.permission.VIBRATE > android.permission.READ_PHONE_STATE > android.permission.SYSTEM_ALERT_WINDOW 

Итак, как работает такая система. Продолжает ли он читать журналы «READ_LOGS», чтобы узнать, происходит ли запуск приложения?

Solutions Collecting From Web of "Android: как работает приложение Protector?"

Я переделал приложение и нашел, что именно он делает.

Он просто постоянно читает журналы через logcat через службу, используя фильтры, такие как

ActivityManager: I *: S

Чтобы получить только запущенные действия. Также часть его информации поступала из

ActivityManager.RunningTaskInfo

То, если запущена «заблокированная» активность, отображается экран блокировки.

Мое предположение для этого процесса будет следующим:

  1. Приложение использует широковещательный приемник или какой-либо другой метод обнаружения, чтобы определить, когда приложение было запущено.
  2. Если приложение является защищенным, приложение-защитник помещает экран блокировки поверх задачи.
  3. Если пользователь входит в правильную блокировку, экран блокировки заканчивается.
  4. Если код доступа неверен, защитник убивает защищенное приложение.

Я думаю, что так работают все защитники приложений, и я уверен, что именно такие приложения, как Handcent SMS, защищают текстовые сообщения.