需要密码才能卸载/删除应用程序

时间:2009-08-03 10:05:42

标签: android

我想要求用户在允许卸载/删除我的应用程序之前键入密码。我该如何实现此功能?

5 个答案:

答案 0 :(得分:13)

您可以通过以下方式执行此操作:

  • 首次安装您的应用时,请安装一个单独的应用程序/包(“观察者”)。
  • “watcher”包含的唯一类是一个侦听ACTION_PACKAGE_REMOVED
  • 的BroadcastReceiver
  • 将BroadcastReceiver添加到也侦听ACTION_PACKAGE_REMOVED
  • 的应用程序中
  • 当意图广播给您的某个接收器时,请检查是否仍安装了其他组件。如果不是(用户刚刚卸载它),则提示输入密码 - 如果错误,请重新安装其他组件。如果是的话,请自行卸载。

答案 1 :(得分:4)

您可以执行logcat并获取启动活动意图信息。 您会发现在显示卸载活动之前,有 一个文本消息,例如: 开始活动:Intent {act = android.intent.action.DELETE dat = package:com.comodo.pimsecure cmp = com.android.packageinstaller / .UninstallerActivity} 的 那么你现在就可以弹出一个活动来询问密码。

答案 2 :(得分:1)

这是一个难题。我可以想到至少有一个非邪恶的用例。

e.g。被盗电话恢复应用程序 - 您希望阻止他们卸载应用程序。

在这种情况下,我可以想到两个明智的假设,这些假设会阻止我实施你想要的东西:

  • 小偷不知道你的应用程序,所以不会尝试卸载它。
  • 小偷知道你的应用程序,并将其关闭,直到他可以将它送到铁箱*重新安装操作系统。

*对于不熟悉的人:iron box会阻止设备发送或接收电磁信号。

当然,这个答案相当于You Ain't Going To Need It,但我怀疑你已经考虑过了。

答案 3 :(得分:1)

有可能。你可以用DeviceAdminReceiver api做到这一点。 (我不怎么样)

答案 4 :(得分:0)

通过密码保护安装/卸载应用程序使Android更安全,免受恶意软件/病毒的攻击。您的Android变得像iPhone一样安全。

工作原理:

  1. 系统会提示用户自动安装应用。您可以搜索应用名称。如果不安全,请阻止它。

  2. 向用户提示root访问权限。太多的广告表明访问是危险的。