作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我知道卸载应用程序的唯一方法是发送一个 Intent (as described here),但这会打开一个 Activity 供用户确认卸载。
我知道没有其他方法可以在没有用户干预的情况下卸载其他应用程序(除非您拥有 DELETE_PACKAGES 权限,这意味着您是 OEM)。
但是,有没有办法在没有用户干预的情况下卸载我自己的应用程序?
最佳答案
在PackageManager
中有一个隐藏的函数叫做deletePackage
(可以通过反射调用)。但它需要 android.permission.DELETE_PACKAGES
权限。无论您是否是该应用程序的所有者,您都必须获得此权限。并且此权限不会授予第 3 方应用。
因此,基本上,您无法卸载应用程序,即使它是您的应用程序。这实际上是有道理的,因为用户应该控制应用程序安装和卸载等关键事件。试想一下,如果用户刚从市场上安装了应用程序但找不到它(或类似情况),他或她会感到沮丧。
您应该使用适当的消息禁用您的应用程序功能。这将更加用户友好。
关于android - 如何在没有用户干预的情况下卸载我自己的 Android 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6383302/
我是一名优秀的程序员,十分优秀!