Удалить приложение намерение не работает на Android пирог - PullRequest
0 голосов
/ 08 февраля 2019

Это работало в прошлом, но больше не работает на моем устройстве Android пирог (работало до недавнего обновления пирога):

fun uninstallApp(packageName: String) {
    val packageURI = Uri.parse("package:$packageName")
    val intent = Intent(Intent.ACTION_DELETE, packageURI)
    intent .addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
    startActivity(intent )
}

Я не смог найти документацию, которая указывает, что это намерение не работаетбольше.

Кто-нибудь знает, есть ли альтернативный способ открыть диалоговое окно удаления на Android пирог?

1 Ответ

0 голосов
/ 09 февраля 2019

Код все еще будет работать, предположительно приложение не запрашивает разрешения на его выполнение.

Начиная с Android Pie (Android 9), приложения должны объявить, что они запрашивают удаление приложений.Это можно сделать, добавив это разрешение к AndroidManifest.xml:

<uses-permission android:name="android.permission.REQUEST_DELETE_PACKAGES"/>

* Обратите внимание, что нет необходимости запрашивать это разрешение во время выполнения.Чтобы этого сработало, достаточно объявить это в манифесте.


Кроме того, вместо запроса пакетов можно использовать действие ACTION_UNINSTALL_PACKAGE.Для этого действия в документации упоминается, что для работы с Android Pie требуется указанное выше разрешение.

...