Как уведомить веб-браузер Dolphin, когда он удаляется?

Задний план

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

Проблема

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

Это происходит, даже если я удалю использование ADB.

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

Вопрос

Как это могло произойти? Как им удалось это преодолеть?

Это взломать?

Solutions Collecting From Web of "Как уведомить веб-браузер Dolphin, когда он удаляется?"

Возможно, приложение имеет фоновый сервис, который проверяет приложение переднего плана, когда его собственный callback onDestroy () запущен, и если приложение foreground является деинсталляцией программы установки Android, оно запустит новое намерение для веб-страницы?

Я предполагаю, что они используют ACTION_PACKAGE_REMOVED. http://developer.android.com/reference/android/content/Intent.html#ACTION_PACKAGE_REMOVED Либо это, либо метод Робин Гуд и Фрей Так, где каждый из них слушает трансляции событий от другого.
Просто догадайтесь, но посмотрим.
Это может быть вариант: как приложение обнаруживает, что оно будет удалено?

Пожалуйста, постарайтесь получить максимальную активность в задаче через ActivityManager и проверьте, является ли это деинсталляцией.

Код ядра:

ComponentName topActivity = mActivityManager.getRunningTasks(1).get(0).topActivity; String packageName = topActivity.getPackageName(); String className = topActivity.getClassName(); Log.v(TAG, "packageName" + packageName); Log.v(TAG, "className" + className); if ("com.android.packageinstaller".equals(packageName) && "com.android.packageinstaller.UninstallerActivity".equals(className)) { //Do anything you want here }