如果Android设备能够进行存储加密,则以编程方式检测

meh*_*i.r 5 encryption storage android android-intent device-policy-manager

我正在开发一个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);
}
Run Code Online (Sandbox Code Playgroud)

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

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

谢谢,谢谢.

小智 1

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

希望这可以帮助。