我有一个与安全相关的安卓应用。
我需要在卸载之前验证用户。IE; 如果有人试图卸载我的应用程序,它会弹出一个窗口并读取一些密码/ID 或其他内容,如果它的有效卸载继续进行,否则不会。
我有root权限
我有一个与安全相关的安卓应用。
我需要在卸载之前验证用户。IE; 如果有人试图卸载我的应用程序,它会弹出一个窗口并读取一些密码/ID 或其他内容,如果它的有效卸载继续进行,否则不会。
我有root权限
这违反了安卓生态系统的规则。应该允许所有用户卸载他们的应用程序。
实现它的唯一方法是将您的应用程序安装为系统应用程序,除非他们有根设备,否则他们将无法卸载该应用程序。
不推荐的另一种方法是监视日志(API 16 及更高版本不支持,但如果您有 root 权限则可能)并在您发现用户已到达应用程序卸载对话框时执行某些操作。
在没有固件修改的情况下,这在 Android 上是不可能的。
充其量,您可以让用户将您的应用设置为设备管理员,这将阻止它被卸载,直到从设备管理员中删除。
或者,由于您有 root,您可以扫描 logcat 以获取类似以下内容的消息(确切的措辞可能因设备而异):
Starting activity: Intent { act=android.intent.action.DELETE dat=package:your.package cmp=com.android.packageinstaller/.UninstallerActivity }
收到此消息后,启动需要密码才能解除的弹出 Activity。