Как самостоятельно удалить приложение?

Проблема в том, что мое приложение получает права администратора, получить их с помощью пользовательского интерфейса достаточно просто. Однако, как только приложение получит эти права, его будет сложно удалить (пользователь должен сначала отозвать эти права администратора; а если нет, то при удалении нет информации о том, что происходит с удалением - по крайней мере, в Ace 2 Android 2.3).

Таким образом, было бы полезно иметь функцию удаления в приложении - она сначала аннулирует права администратора, а затем следует обычное удаление.

Другим подходом будет уведомление о том, что приложение собирается быть удалено, однако AFAIK это невозможно - см .:http://code.google.com/p/android/issues/detail?can=2&д = 33315 &colspec = ID% 20Type% 20Status% 20Owner% 20Summary% 20Stars &ID = 33315

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

Итак - как удалить себя?

Решение

Просто для того, чтобы сохранить код на SO сайте:

Uri packageURI = Uri.parse("package:"+MyMainActivity.class.getPackage().getName());
Intent uninstallIntent = new Intent(Intent.ACTION_DELETE, packageURI);
startActivity(uninstallIntent);

код скопирован сБлог Android Tales.

Ответы на вопрос(1)

Ваш ответ на вопрос