![](/img/trans.png)
[英]How to uninstall apps in android programmatically with PackageInstaller
[英]How to uninstall android apps using the new PackageInstaller api?
使用ACTION_UNINSTALL_PACKAGE
卸载 android 应用程序的旧方法在 API 级别 29 中已弃用。现在建议使用PackageInstaller.uninstall(packageName: String, statusReceiver: IntentSender)
代替。 到目前为止,这是一个想法:
fun uninstal(){
val packageName = "some package name"
val packageInstaller = this.packageManager.packageInstaller
val intent = Intent(this, this::class.java)
val sender = PendingIntent.getActivity(this, 0, intent, 0)
packageInstaller.uninstall(packageName, sender.intentSender)
}
我不知道如何提供IntentSender
。 我试图在当前活动中创建一个意图,但是这些代码所做的只是重新创建活动。 请问有什么想法吗? 谢谢
基于 Intent 的方法仍然适用于 API Level 29+ 设备。 只需将您的 Intent 操作更改为
意图.ACTION_DELETE
此外,您还需要添加删除包的权限。
<uses-permission android:name="android.permission.REQUEST_DELETE_PACKAGES"/>
这是完整的代码:
val pkg = "package_to_delete"
val uri: Uri = Uri.fromParts("package", pkg, null)
val uninstallIntent = Intent(Intent.ACTION_DELETE, uri)
startActivityForResult(uninstallIntent, EXIT_REQUEST)
在上面的代码中,pkg 是您要删除的应用程序的 packageName 字符串格式,EXIT_REQUEST 是一个 Integer 值。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.