我在Pandaboard上玩过Device Administration API,看起来setStorageEncryption方法没有效果,尽管getStorageEncryption返回的状态为TRUE。
对于Panda板,应用程序内部存储器实际放置在可移动闪存卡上的某个位置(它没有任何其他闪存存储器)。所以我做了以下事情:
if (mDPM.getStorageEncryption(mDeviceAdminSample)) {
string = "TRUE Encryption";
}
FileOutputStream fos = null;
fos = openFileOutput("hello_file.txt", Context.MODE_PRIVATE);
fos.write(string.getBytes());
fos.close();
从Pandaboard中提取SD卡,将其放入读卡器并将整个内容复制到我的电脑
sudo dd if = / dev / sdc of =〜/ workspace / flash_card.bin
尝试找到字符串:
$ grep -Ubo --binary-files = text'TRUE Encryption'~ / workspace / flash_card.bin
583576877:TRUE Encryption
因为它发现字符串我得出的结论是没有加密。
实际上setStorageEncryption是否启用加密,或者它只是请求加密,换句话说“声明你的意图”是否加密存储?
答案 0 :(得分:4)
我相信你必须另外调用以下代码:
// Launch the activity to activate encryption. May or may not return!
Intent intent = new Intent(DevicePolicyManager.ACTION_START_ENCRYPTION);
startActivityForResult(intent, REQUEST_CODE_START_ENCRYPTION);
它来自设备管理员样本。