Pracuję nad aplikacją dla systemu Android, która rozpoczyna proces szyfrowania danych na urządzeniu.Wykryj programowo, jeśli urządzenie z Androidem może szyfrować pamięć masową.
jestem wykrywania stanu szyfrowania z tym kodem:
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);
}
na niektórych urządzeniach, szyfrowanie rozpoczęciem procesu i kończy się niepowodzeniem. Zazwyczaj te urządzenia nie mają opcji "Szyfrowanie" dostępnej w menu Ustawienia> Bezpieczeństwo (Android 3.x i Android 4.x).
Czy istnieje sposób, aby programowo wykryć, czy urządzenie jest w stanie wykonać szyfrowanie pamięci masowej?
Dzięki w adavance.
Dziękuję za odpowiedź, ale niestety niektóre urządzenia, które nie obsługują szyfrowania, zwracają nieprawidłową wartość. Mam problemy z niektórymi urządzeniami Fujitsu w systemie Android 4.X i niektórymi urządzeniami Sharp z systemem Android 4.X. W przypadku tych urządzeń szyfrowanie rozpoczyna się i kończy się niepowodzeniem. Następnie przywrócenie ustawień fabrycznych jest obowiązkowe. –