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

Фон

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

Проблема

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

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

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

Вопрос

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

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

Ответ 1

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

Ответ 2

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

Ответ 3

Пожалуйста, постарайтесь получить максимальную активность в задаче через 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
}