【问题标题】:Detect programmatically if an Android device is able to do storage encryption以编程方式检测 Android 设备是否能够进行存储加密
【发布时间】:2016-06-30 03:41:03
【问题描述】:

我正在开发一个 Android 应用程序,它开始在设备上加密数据的过程。

我正在使用此代码检测加密状态:

int encrypted = 0;
device_policy_manager = (DevicePolicyManager) getSystemService(Context.DEVICE_POLICY_SERVICE);

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
encrypted = device_policy_manager.getStorageEncryptionStatus();
Log.d("TAG", "encryption status : " + encrypted);
}

在某些设备上,加密过程开始并失败。通常这些设备在“设置”>“安全”菜单(Android 3.x 和 Android 4.x)中没有可用的“加密”选项。

有没有办法以编程方式检测设备是否能够进行存储加密?

提前致谢。

【问题讨论】:

    标签: android android-intent encryption storage device-policy-manager


    【解决方案1】:

    不支持加密的设备在调用getStorageEncryptionStatus()时应该返回ENCRYPTION_STATUS_UNSUPPORTED

    希望这会有所帮助。

    【讨论】:

    • 感谢您的回答,但不幸的是,一些不支持加密的设备返回了错误的值。我在使用 Android 4.X 上的一些 Fujitsu 设备和运行 android 4.X 的一些 Sharp 设备时遇到问题。使用这些设备,加密开始和失败。之后,必须恢复出厂设置。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-02-21
    • 1970-01-01
    • 1970-01-01
    • 2012-11-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多