【问题标题】:Android ICS Device EncryptionAndroid ICS 设备加密
【发布时间】:2012-08-06 12:33:47
【问题描述】:

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

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

亲切的问候

【问题讨论】:

  • “我想知道是否发送了广播或类似的东西来识别用户是否点击了“加密设备”或拒绝了请求”——AFAIK,不,可能是因为加密过程将涉及重新启动。 “我需要注意用户的决定”——我想你可以根据需要拨打getStorageEncryptionStatus()
  • 好吧,我实际上只需要知道用户是否点击了“加密设备”。有没有可能得到这些信息?
  • 如何使用 adb 触发该意图?

标签: android security encryption android-4.0-ice-cream-sandwich device-policy-manager


【解决方案1】:

意图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 也不会被阻止。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多