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