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

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

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

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

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

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

Solution

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

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

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

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

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