2

我有一个与安全相关的安卓应用。

我需要在卸载之前验证用户。IE; 如果有人试图卸载我的应用程序,它会弹出一个窗口并读取一些密码/ID 或其他内容,如果它的有效卸载继续进行,否则不会。

我有root权限

4

2 回答 2

2

这违反了安卓生态系统的规则。应该允许所有用户卸载他们的应用程序。

实现它的唯一方法是将您的应用程序安装为系统应用程序,除非他们有根设备,否则他们将无法卸载该应用程序。

不推荐的另一种方法是监视日志(API 16 及更高版本不支持,但如果您有 root 权限则可能)并在您发现用户已到达应用程序卸载对话框时执行某些操作。

于 2013-03-31T09:11:04.410 回答
1

在没有固件修改的情况下,这在 Android 上是不可能的。

充其量,您可以让用户将您的应用设置为设备管理员,这将阻止它被卸载,直到从设备管理员中删除。

或者,由于您有 root,您可以扫描 logcat 以获取类似以下内容的消息(确切的措辞可能因设备而异):

Starting activity: Intent { act=android.intent.action.DELETE dat=package:your.package cmp=com.android.packageinstaller/.UninstallerActivity }

收到此消息后,启动需要密码才能解除的弹出 Activity。

于 2013-04-04T10:05:36.937 回答