Есть ли способ предотвратить удаление приложения для Android?

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

Ответ 1

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

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

Ответ 2

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

Ответ 3

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

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

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

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

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

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

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

-Adam

Ответ 4

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

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

Однако пользователь всегда может удалить это приложение, установив + mount/system/app/для записи и затем удалить. Но "нормальные родители" не могут этого сделать:)

Привет

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

Ответ 5

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

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

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