删除不适用于 android 饼图的应用 Intent

Delete app intent not working on android pie

这在过去有效,但不再适用于我的 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 )
}

我找不到任何表明此 Intent 不再有效的文档。

有谁知道是否有其他方法可以在 android pie 上打开卸载对话框?

代码仍然有效,应该是应用程序未请求执行它的权限。

自Android Pie (Android 9)起,应用程序必须声明他们要求删除应用程序。这可以通过将此权限添加到 AndroidManifest.xml:

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

* 请注意,在运行时不需要请求此权限。在 Manifest 中声明它就足够了。


此外,我们可以使用 ACTION_UNINSTALL_PACKAGE 操作代替删除包的请求。对于此操作,文档提到需要上述权限才能正常工作,因为 Android Pie.