我在製作一個安全程序,並使用DeviceAdmin機制。我製作了一個DeviceAdminReceiver,它的工作完美無瑕。 我需要保護我的軟件免遭卸載。在第一次運行時,用戶輸入密碼進行卸載。 在onDisableRequested中,我使用了setPasswordQuality(),setPasswordMinimumLength(),最後是lockNow()。該設備正在鎖定並要求輸入我的密碼。沒事。當用戶輸入匹配的密碼時,設備解鎖,用戶看到我的警告,比如@禁用「bla-bla-bla」並不是一個好主意,並且禁用了我的管理應用程序DevicePolicyManager恢復密碼或模式
但!!由我的代碼設置的密碼isn沒有清除,如果用戶使用某種模式來鎖定他的手機,手機會被我的密碼鎖定好!
問題是:如何恢復對鎖定方案的更改?(即將其恢復爲可視化模式需要)
爲什麼你需要提示用戶?禁用設備管理員已經觸發與用戶的對話以確認禁用設備管理員AFAIK – dudebrobro
@QuentinSwain只有安裝它的用戶纔有權卸載。例如,如果手機被盜,我的程序會跟蹤小偷的下落。但是,如果小偷可以毫無問題地卸載它,那麼這種安全性就毫無意義。 – Revertron
您能解釋多一點,這兩個發現「設備鎖定並要求輸入密碼」和「我的密碼設置的密碼未被清除」。方法setPasswordQuality和setPasswordMinimumLength僅爲新密碼設置限制,並且不會設置密碼本身。所以,我不是如何使用您的代碼設置實際的密碼。 –