Android 9 Intent.ACTION_UNINSTALL_PACKAGE 不起作用

Say*_*nRC 3 android android-intent

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

val uri = Uri.parse("package:$packageName")
val uIntent = Intent(Intent.ACTION_UNINSTALL_PACKAGE, uri)
startActivity(uIntent)
Run Code Online (Sandbox Code Playgroud)

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

我也试过 ACTION_DELETE

val uri = Uri.parse("package:$packageName")
val uIntent = Intent(Intent.ACTION_DELETE, uri)
startActivity(uIntent)
Run Code Online (Sandbox Code Playgroud)

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

Say*_*nRC 7

我缺少清单许可。

<uses-permission android:name="android.permission.REQUEST_DELETE_PACKAGES"/>
Run Code Online (Sandbox Code Playgroud)

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