Есть ли какой-то конкретный способ заставить систему удалить всплывающее окно появляется слушатель в Android

1

Я столкнулся с проблемой, связанной с тем, как получить прослушиватель диалогового окна удаления устройства, как показано ниже: "Хотите удалить это приложение?" Для этого я попытался с администратором устройства устройства, но не получить желаемого решения. Если любая помощь от вас будет гораздо более ценным.

Теги:
kotlin
system
uninstall

1 ответ

1

Если вы хотите запретить пользователям удалять ваше приложение, вы можете зарегистрироваться в качестве администратора устройства, чтобы предотвратить удаление (пользователи должны отменить регистрацию, чтобы иметь возможность удалить ваше приложение), оттуда, я полагаю, вы можете ограничить открытие приложения Настройки Android ( пользователям нужно открыть, чтобы отменить регистрацию вашего приложения в качестве администратора устройства), здесь описано, как это сделать, и имя пакета параметров приложения - com.android.settings.


Второй ответ о том, как обнаружить удаление приложения:

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


Оригинальный ответ о том, как предложить удалить приложение:

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

Uri packageUri = Uri.parse("package:APP_PACKAGE_NAME");
Intent uninstallIntent = new Intent(Intent.ACTION_UNINSTALL_PACKAGE, packageUri);
startActivity(uninstallIntent);

Примечание. Указанное выше намерение ACTION_UNINSTALL_PACKAGE доступно только после API 14 (Android 4.0). Если ваше приложение предназначено для Android P и выше, вам необходимо добавить разрешение REQUEST_DELETE_PACKAGE в ваш AndroidManifest. Кроме того, это намерение устарело, начиная с Android Q, и в этом случае вы должны использовать PackageInstaller.uninstall() например:

String packageName = "com.your.app.package";
Intent intent = new Intent(getActivity(), getActivity().getClass());
PendingIntent sender = PendingIntent.getActivity(getActivity(), 0, intent, 0);
PackageInstaller packageInstaller = getActivity().getPackageManager().getPackageInstaller();
packageInstaller.uninstall(packageName, sender.getIntentSender());

Там есть целая куча ограничений, но подробности см. В документации.

  • 0
    Спасибо за ответ, но я хочу прослушать всплывающее диалоговое окно подтверждения, которое отображается перед удалением приложения.
  • 0
    Вы должны отредактировать свой вопрос, чтобы быть более ясным относительно вашего намерения. В любом случае, если это то, что вы хотите сделать, я боюсь, что нет официального способа сделать это, даже если у вас есть права администратора устройства, но есть своего рода хакерский способ сделать это, проверьте это здесь
Показать ещё 3 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню