首页 > 解决方案 > Android 9 Intent.ACTION_UNINSTALL_PACKAGE 不起作用

问题描述

在android pie上,我想调用包管理器来卸载我自己的应用程序。这是我正在尝试的:

val uri = Uri.parse("package:$packageName")
val uIntent = Intent(Intent.ACTION_UNINSTALL_PACKAGE, uri)
startActivity(uIntent)

奇怪的是,这不起作用。logcat 中也没有显示任何内容。

我也试过 ACTION_DELETE

val uri = Uri.parse("package:$packageName")
val uIntent = Intent(Intent.ACTION_DELETE, uri)
startActivity(uIntent)

请告诉我我做错了什么。这似乎是一项非常简单的工作。我是否缺少任何许可或需要在清单中声明的​​内容?谢谢。

标签: androidandroid-intent

解决方案


我缺少清单许可。

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

这可能是 Android 6.0 及更高版本所必需的。问题中的代码现在可以完美运行。在 Android 9 和 Android 10 上测试。


推荐阅读