Android 应用程序自行卸载

Posted

技术标签:

【中文标题】Android 应用程序自行卸载【英文标题】:Android application self-uninstall 【发布时间】:2012-04-13 06:19:43 【问题描述】:

有没有办法让应用程序自行卸载? 例如: 我希望能够在我的应用中单击“卸载”按钮并让应用自行卸载。

我可以想象你可以调用固件的一个函数并将操作委托给它,以便卸载应用程序。

我需要这个的原因是当应用程序被卸载时,我需要删除应用程序下载的 sdcard 上的一些文件。

【问题讨论】:

install / uninstall APKs programmatically (PackageManager vs Intents) 的可能重复项 【参考方案1】:

您可以使用 Intent.ACTION_DELETE 删除您的应用

试试这个对我有用

 Intent intent = new Intent(Intent.ACTION_DELETE);
     intent.setData(Uri.parse("package:" + this.getPackageName()));
     startActivity(intent);

【讨论】:

它将用户带到卸载屏幕。 您好,我知道我来晚了,但是您知道如何自动卸载应用程序吗? (即不需要用户确认) API 级别 28 及以上需要此权限。 【参考方案2】:

不,你根本做不到。至少不适用于未植根的手机。您可以将用户带到Uninstall 屏幕,但他们必须单击“卸载”才能卸载该应用程序。欲了解更多信息,请访问install/uninstall application programmatically.

【讨论】:

【参考方案3】:

很遗憾,您无法卸载应用程序,甚至无法检测到您的应用程序正在被卸载。这是为了保护安全并防止恶意软件弄乱事物。

我建议不要使用 sd 卡来存储文件,而是使用内部存储。这些文件会在应用卸载时自动删除。

http://developer.android.com/guide/topics/data/data-storage.html#filesInternal

【讨论】:

以上是关于Android 应用程序自行卸载的主要内容,如果未能解决你的问题,请参考以下文章

是否可以以编程方式卸载 Android 中的软件包

C#自行实现安装卸载程序(不使用官方组件)

刻录如何检测到它需要自行卸载?

Android静默安装与静默卸载(系统应用)

Android:adb卸载系统应用软技能

Android采用pm命令静默卸载应用