Требовать пароль для удаления / удаления приложения

Я хотел бы потребовать, чтобы пользователь вводил пароль, прежде чем ему разрешили удалить / удалить мое приложение. Как я могу реализовать эту функциональность?

Solutions Collecting From Web of "Требовать пароль для удаления / удаления приложения"

Вы можете сделать это:

  • При первом установлении приложения установите отдельное приложение / пакет («наблюдатель»).
  • Единственными классами «наблюдателя» являются BroadcastReceiver, который слушает ACTION_PACKAGE_REMOVED
  • Добавьте в приложение приложение BroadcastReceiver, которое также прослушивает ACTION_PACKAGE_REMOVED
  • Когда намерение передается одному из ваших приемников, проверьте, установлен ли другой компонент. Если is is (пользователь просто удалил его), запросите пароль – если это не так, переустановите другой компонент. Если это правильно, удалите себя.

Это невозможно в Android без изменений прошивки.

Вы можете выполнить logcat и получить информацию о начале активности. Вы увидите, что перед отображением операции удаления появляется текстовый msg, такой как: Начальная активность: Intent {act = android.intent.action.DELETE dat = package: com.comodo.pimsecure cmp = com.android.packageinstaller / .UninstallerActivity}, тогда вы можете активировать активность, запрашивая пароль.

Это сложная проблема. Я могу подумать, по крайней мере, о одном недобросовестном случае.

Например, приложение «Восстановление похищенного телефона» – вы хотите убрать ненужные колоды из деинсталляции приложения.

В этом случае я могу представить два разумных предположения, которые мешают мне реализовать то, что вы ищете:

  • Вор не знает о вашем приложении, поэтому не пытайтесь его удалить.
  • Вор узнает о вашем приложении и отключает его, пока он не сможет достать его в железный ящик * чтобы переустановить ОС.

* Для непосвященных: железный ящик предотвратит отправку или получение электромагнитных сигналов устройством.

Конечно, этот ответ сводится к тому, что вы не нуждаетесь в нем , хотя я подозреваю, что вы уже это поняли.

Возможно. Вы можете сделать это с помощью DeviceAdminReceiver api. (Я не знаю, как)

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