【发布时间】:2015-02-12 03:01:47
【问题描述】:
我正在尝试从我的应用程序中确定我的 Android 设备的存储加密状态。按照相关Android Developer page的建议,这是我的代码:
DevicePolicyManager mDPM = (DevicePolicyManager) getSystemService(Context.DEVICE_POLICY_SERVICE);
int encryptionStatus = mDPM.getStorageEncryptionStatus();
if (DEBUG) Log.v(TAG, "checkSecuritySettingsSufficient: encryptionStatus=" + encryptionStatus);
问题来了:当我在设备上运行此代码时(我在运行 Android 4.4.4 的 Motorola Droid Maxx 和运行 Android 5.0.2 的 Nexus 7 上尝试过)我之前已加密、DevicePolicyManager.getStorageEncryptionStatus() 将始终返回值 1,即 ENCRYPTION_STATUS_INACTIVE。
因此,Android 报告该设备未加密,尽管文件系统确实已加密(我从 Settings > Security 页面检查了它的状态)。
这个功能坏了吗? SO或其他网络资源上似乎没有提到这一点。这让我相信我没有正确处理DevicePolicyManager。
更新在使用摩托罗拉设备再次运行加密步骤后,DevicePolicyManager.getStorageEncryptionStatus() 正在返回正确的值,但在 Nexus 7 上仍然失败。
【问题讨论】:
标签: android encryption device-policy-manager