我在制作一个安全程序,并使用DeviceAdmin机制。我制作了一个DeviceAdminReceiver,它的工作完美无瑕。 我需要保护我的软件免遭卸载。在第一次运行时,用户输入密码进行卸载。 在onDisableRequested中,我使用了setPasswordQuality(),setPasswordMinimumLength(),最后是lockNow()。该设备正在锁定并要求输入我的密码。没事。当用户输入匹配的密码时,设备解锁,用户看到我的警告,比如@禁用“bla-bla-bla”并不是一个好主意,并且禁用了我的管理应用程序DevicePolicyManager恢复密码或模式
但!!由我的代码设置的密码isn没有清除,如果用户使用某种模式来锁定他的手机,手机会被我的密码锁定好!
问题是:如何恢复对锁定方案的更改?(即将其恢复为可视化模式需要)
为什么你需要提示用户?禁用设备管理员已经触发与用户的对话以确认禁用设备管理员AFAIK – dudebrobro
@QuentinSwain只有安装它的用户才有权卸载。例如,如果手机被盗,我的程序会跟踪小偷的下落。但是,如果小偷可以毫无问题地卸载它,那么这种安全性就毫无意义。 – Revertron
您能解释多一点,这两个发现“设备锁定并要求输入密码”和“我的密码设置的密码未被清除”。方法setPasswordQuality和setPasswordMinimumLength仅为新密码设置限制,并且不会设置密码本身。所以,我不是如何使用您的代码设置实际的密码。 –