Есть ли способ предотвратить удаление приложения Android? - PullRequest
12 голосов
/ 30 января 2009

Кто-нибудь знает, есть ли способ удержать пользователя от удаления приложения с телефона Android или переустановить его при удалении? Перед тем, как вы меня разозлите, пожалуйста, знайте, что у меня есть приложение, которое должно быть установлено на телефоне родителем / работодателем / и т.д. и имеет защищенный паролем экран настроек; пользователь должен будет ввести пароль, чтобы удалить приложение.

Ответы [ 5 ]

7 голосов
/ 30 января 2009

Что если у вас есть, отправьте уведомление по электронной почте на зарегистрированный адрес электронной почты при удалении?

6 голосов
/ 10 февраля 2009

По теме уведомления по электронной почте, когда ваша служба удалена -

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

6 голосов
/ 30 января 2009

Не без модификации ядра или сокращения пользовательских привилегий на устройстве. Думайте об этом как о компьютере Linux, где у пользователя сотового телефона есть root.

Можете ли вы помешать им удалить ваше приложение? Нет.

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

Во-первых, я бы изменил программное обеспечение так, чтобы оно периодически запрашивало и успешно отвечало на криптографический запрос / ответ с удаленного сервера - ежедневно должно быть достаточно, и это не повлияет на использование батареи. Таким образом, ваш сервер знает, когда он был отключен (может быть продан за дополнительную плату в 10 долларов США в год), и вы можете предупредить покупателя.

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

В-третьих, я хотел бы рассмотреть возможность установки программы мониторинга, которая запускается как отдельный процесс (посмотрите, как последние вирусы работают для подсказок). Он проверит, чтобы убедиться, что приложение не только работает, но и работает последняя версия, а также нет симулятора GPS или другой программы, которая мешает вашему приложению получать правильные данные GPS.

Мне любопытно, как вы отличаете текстовые сообщения водителя от друга, сидящего на сиденье пассажира, отправляющего текстовые сообщения на камеру водителя.

-Adam

4 голосов
/ 12 февраля 2011

Что ж, решением было бы смонтировать / system / apps / для записи и поместить свое приложение туда один раз.

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

Тем не менее, пользователь всегда может удалить это приложение, установив root / system / app / в доступный для записи, а затем удалить. Но «нормальные родители» не могут этого сделать:)

Привет

P.S. Этому вопросу два года, я заметил это только сейчас ...: S

3 голосов
/ 30 января 2009

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

Если бы вы модифицировали ядро ​​Android, это было бы возможно, но если вы пытаетесь навязать что-то конечному пользователю, это плохая идея.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...