2015-08-19 2 views
2

После большого исследования я пришел к выводу, что удаленные ссылки не могут быть отслежены, поскольку действие «Удаленный пакет» не транслируется во все приложения, кроме тех, которые удаляются.Знайте, удалено ли мое приложение.

А потом я нашел способ отслеживания удалений. Я сохранил всю информацию об удалении пользователя по Отправка GCM и получение ошибки «Not Registered» в ответе (GCM дает ошибку «Not Registered» для устройств с удаленным приложением).

Итак, когда я установил приложение Opera Max и удалил его, он открыл веб-страницу с просьбой «Удалить опрос». Как они могли это сделать?

+0

Это не очень хороший вопрос для SO. Я предлагаю вам связаться с разработчиками Opera Max и спросить их. – Squonk

+1

PACKAGE_REMOVED не передается в том же приложении, которое удаляется. И я не знаю, почему это не очень хороший вопрос, когда он конкретно связан с программированием. –

+0

Я знаю, что вы, возможно, прошли через это, но по-прежнему проверяете эту ссылку bcoz ответ и комментарий дает немного идеи http://stackoverflow.com/questions/10219328/how-to-show-an-activity-before-my-app- is-uninstalled-android –

ответ

2

См. these slides от Droidcon 2015, где некоторые ребята реконструировали так, как Opera Max делает это, и см. this GitHub repository для примера кода.

+0

Отлично! Не могу поверить, что они это сделали, чтобы открыть веб-страницу. ;) –

0

Я не могу Репрографический такое поведение, когда я удалить Opera Макс, но я считаю их техника по следующим направлениям:

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

У меня не было других приложений Opera, установленных при попытке - если у вас есть второе приложение, которое вы также контролируете, которое не было удалено, то для каждого приложения легко контролировать удаление другого один.

Я работал на Lollipop - возможно, последние версии Android закрылись, что, безусловно, похоже на дыру в безопасности.

+0

Да, это не работает с леденецкими устройствами. Я проверил устройство kitkat. –

Смежные вопросы