Отключение кнопки «Force Stop» в Android

Android
Вопрос:Хорошо, я уверен, что это невозможно, но клиент попросил меня сделать это в одном из наших приложений для Android, которые мы разработали для нее. То, что она хотела, это то, что если наше приложение запущено, и пользователь перейдет к: Settings > Manage Application > [Our Application] кнопка "Force Stop" отключена. Возможно ли это? Если возможно,

Вопрос:

Хорошо, я уверен, что это невозможно, но клиент попросил меня сделать это в одном из наших приложений для Android, которые мы разработали для нее.

То, что она хотела, это то, что если наше приложение запущено, и пользователь перейдет к:

Settings > Manage Application > [Our Application]

кнопка “Force Stop” отключена.

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

Update:
Она просто прислала мне скриншот, который, по ее мнению, подтверждает ее просьбу о наличии приложения для Android, которое отключает кнопку “Силовая остановка”. Как я могу это объяснить?

Evernote Launcher - Force Stop disabled

Лучший ответ:

Это не является удаленной возможностью, по большой причине.

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

В общем, если вам интересно, можете ли вы изменить поведение приложения на “дополнительное приложение”, ответ обычно * no *. Вы должны принять точку зрения, что ничто на устройстве не является вашим, кроме вашего приложения и (в ограниченной степени) ресурсов, которым вам предоставлен доступ.

Никакое другое приложение не имеет такого контроля, поэтому не разумно ожидать, что ваш клиент тоже. Однако тот факт, что она запрашивает этот контроль, обычно подразумевает что-то другое: они обеспокоены тем, что пользователь остановит приложение, а затем произойдет что-то плохое (места перестанут синхронизироваться, данные перестанут посылаться в сеть и т.д.)….). Это будет означать, что вы должны изучить возможность повышения устойчивости приложения к различным ситуациям. Помните, что ваше приложение может даже быть убито в любое время Android (например, в случае низкой памяти).

Ответ №1

Как отключить кнопку “Силовая остановка”

Краткий ответ: используйте API администрирования устройств.

Как объяснить это моему клиенту?

Покажите этот вашему клиенту. Это приятное слайд-шоу, обеспечивающее простой для понимания обзор API администрирования устройств и его использование.

Как я могу продемонстрировать, что он работает?

Да, вернемся к вашей работе. Используйте приведенную выше ссылку API и Api Demos, включенную в Google образец
коллекции
, чтобы выяснить, как интегрировать это в ваше приложение.

  • Создайте демо и запустите его на своем устройстве.
  • Выберите API Demos->App->Device Admin->General->Enable admin.
  • Выберите Activate после того, как API администрирования устройства предложит вам экран включения.
  • Выйдите из приложения и попробуйте управлять приложением через меню настроек устройства (для этого шага зависит от устройства).
  • При просмотре экрана “Информация о приложении” Api Demo вы должны видеть, что оба Force Stop и Uninstall отключены.

Как это сделать в моем собственном приложении?

Просмотрите DeviceAdminSample.java в приложении Api Demos для вдохновения. Вам понадобится следующее:

Следующий код вызывает экран активации:

// Launch the activity to have the user enable our admin. Intent intent = new Intent(DevicePolicyManager.ACTION_ADD_DEVICE_ADMIN); intent.putExtra(DevicePolicyManager.EXTRA_DEVICE_ADMIN, mDeviceAdminSample); intent.putExtra(DevicePolicyManager.EXTRA_ADD_EXPLANATION, mActivity.getString(R.string.add_admin_extra_app_text)); startActivityForResult(intent, REQUEST_CODE_ENABLE_ADMIN);

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

  • Радиовещательный приемник, полученный из DeviceAdminReceiver.
  • Записи в файле манифеста, которые относятся к вышеупомянутому широковещательному приемнику.
  • Разрешения в манифесте для использования API-администратора устройства.
  • XML файл, в котором указывается, к каким политикам доступно ваше приложение.

Все это можно найти в приведенных выше ссылках. Удачи с вашим клиентом!

Ответ №2

Я думаю, что снятие экрана с экрана путало нас. Даже я могу показать приложение, установленное на устройстве, и кнопка “Силовая остановка” отключена. Где я не делал ничего особенного.

Причиной отключения кнопки “Силовая остановка” является то, что данное приложение не работает в настоящее время. Следовательно, нет смысла включать кнопку.
@Rhama вы можете попросить своего клиента запустить приложение один раз, нажать домашнюю кнопку устройства и перейти к настройкам и посмотреть. На этот раз кнопка “Force Stop” будет включена.

Привет,

Раджан

Ответ №3

От ICS возможно отключение принудительной остановки. Если ваше приложение имеет активный администратор устройства, тогда структура не позволит пользователю убить процесс

Ответ №4

Эй, я думаю, что вполне возможно отключить кнопку “Силовая остановка”… проверить Kaspersky
Родительский контроль
с рынка он делает то же самое.
Его служба работает в фоновом режиме, а затем отключена кнопка останова.

Служба приложений работает в фоновом режиме

Ответ №5

вы можете отключить forcestop, когда приложение имеет права администратора. но вскоре, когда эти права администратора будут отменены, он вернется к норме. однако в android 4 приложение, называемое applock (domobile), могло предотвратить это, запросив пароль при попытке изменить права администратора. Это можно сделать только путем установки дополнительной программы, которую попросили вас. И я предполагаю, что это может даже рассматриваться как недостаток безопасности, и он больше не работает на Android 5.

Оцените статью
Добавить комментарий