2013-08-02 36 views
0

我在製作一個安全程序,並使用DeviceAdmin機制。我製作了一個DeviceAdminReceiver,它的工作完美無瑕。 我需要保護我的軟件免遭卸載。在第一次運行時,用戶輸入密碼進行卸載。 在onDisableRequested中,我使用了setPasswordQuality(),setPasswordMinimumLength(),最後是lockNow()。該設備正在鎖定並要求輸入我的密碼。沒事。當用戶輸入匹配的密碼時,設備解鎖,用戶看到我的警告,比如@禁用「bla-bla-bla」並不是一個好主意,並且禁用了我的管理應用程序DevicePolicyManager恢復密碼或模式

但!!由我的代碼設置的密碼isn沒有清除,如果用戶使用某種模式來鎖定他的手機,手機會被我的密碼鎖定好!

問題是:如何恢復對鎖定方案的更改?(即將其恢復爲可視化模式需要)

+0

爲什麼你需要提示用戶?禁用設備管理員已經觸發與用戶的對話以確認禁用設備管理員AFAIK – dudebrobro

+0

@QuentinSwain只有安裝它的用戶纔有權卸載。例如,如果手機被盜,我的程序會跟蹤小偷的下落。但是,如果小偷可以毫無問題地卸載它,那麼這種安全性就毫無意義。 – Revertron

+0

您能解釋多一點,這兩個發現「設備鎖定並要求輸入密碼」和「我的密碼設置的密碼未被清除」。方法setPasswordQuality和setPasswordMinimumLength僅爲新密碼設置限制,並且不會設置密碼本身。所以,我不是如何使用您的代碼設置實際的密碼。 –

回答

0

羅馬,根據您的描述,我不知道你想從保護這種情況下。

它看就像你正試圖保護:

  • 賊,誰知道設備的密碼(所以你要使用另一個密碼)

這是很奇怪的情況。我寧願忽略它,因爲它有很多其他含義。

  • 一個小偷,偷了其手機解鎖,想卸載設備管理

在這種情況下,你並不需要重置密碼。所有你需要做的是lockNow(),以確保他不能卸載(因爲他不知道密碼)

+0

用戶可以使用簡單的「滑動解鎖」。但我必須確保用戶,我的防盜模塊將以某種方式「持久」...... – Revertron

+0

您的意思是說您的用戶可能根本沒有配置密碼? (「幻燈片解鎖」) –

+0

是的,我想恢復這種行爲。 – Revertron