以下のコードを使用してgetEncryptionState
、電話が暗号化されているかどうかを判断できます。続行するには、ユーザー入力パスワードが正しいかどうかを確認する必要があります。だから私は を試しましたverifyEncryptionPassword()
が、うまくいきません: このメソッドを呼び出すたびに、常に同じ戻り値を取得します: 0
. つまり、明らかに間違っている正しい暗号化パスワードとして任意の文字列を使用します。
IMountService mountService = IMountService.Stub.asInterface(ServiceManager.getService("mount"));
boolean isEncrypted;
try {
isEncrypted = (mountService.getEncryptionState() != MountService.ENCRYPTION_STATE_NONE);
if (isEncrypted) {
int result = mountService.verifyEncryptionPassword(candidatePw);
if (result == 0) {
Log.d(TAG, "Pw verifies");
} else if (result != -2) {
Log.d(TAG, "Pw mismatch");
} else {
Log.e(TAG, "verified failed");
}
}
} catch (Exception e) {
}
暗号化パスワードを確認するにはどうすればよいですか?