5

我试图通过启动意向(Intent --> DevicePolicyManager.ACTION_START_ENCRYPTION)以编程方式触发我的ICS设备的加密。这工作得很好。我想知道是否发送了广播或类似的内容来识别用户是否点击了“加密设备”或拒绝了请求。 我需要注意用户的决定。Android ICS设备加密

我的第二个问题涉及在DevicePolicyManager内实施的方法setStorageEncryption(admin, boolean)。如果我之后启动了上述的加密意图,setStorageEncryption(admin, false)的呼叫是否会对设备加密产生影响?

亲切的问候

+1

”我想知道是否发送了广播或类似的信息来识别用户是否单击了“加密设备”或拒绝了请求“ - AFAIK,否,可能是因为加密过程将涉及重新启动。 “我需要注意用户的决定” - 我想可以根据需要调用'getStorageEncryptionStatus()'。 – CommonsWare 2012-08-09 10:53:32

+0

嗯,我其实只需要知道用户是否点击了“加密设备”。有没有可能获得这些信息? – user1168876 2012-08-09 13:22:24

+0

不是我所知道的。 – CommonsWare 2012-08-09 15:48:24

回答

2

意图DevicePolicyManager.ACTION_START_ENCRYPTION向用户Settings -> Security -> Encrypt Phone对话,用户必须两次确认操作。此外,该设备需要至少80%的电池并连接到充电电缆。

如果用户拒绝此动作或者他被禁止(例如,充电线没有插入,不发送广播。

由于CommonsWare正确地提到,您的应用程序可以使用DevicePolicyManager.getStorageEncryptionStatus()定期检查加密状态。

调用DevicePolicyManager.setStorageEncryption(admin, false)将该管理员的最低策略设置为not encrypted。其他管理员可以有更强大的政策。

如果设备已被加密,则设备not encrypted policy不解密设备。此外,它不会阻止用户使用Settings -> Security -> Encrypt Phone手动加密设备。在这种情况下,意图DevicePolicyManager.ACTION_START_ENCRYPTION也不会被阻止。 “