Первое действие
try {
masterKeyAlias = MasterKeys.getOrCreate(MasterKeys.AES256_GCM_SPEC);
sharedPreferences = EncryptedSharedPreferences.create(
"secret_shared_prefs",
masterKeyAlias,
getApplicationContext(),
EncryptedSharedPreferences.PrefKeyEncryptionScheme.AES256_SIV,
EncryptedSharedPreferences.PrefValueEncryptionScheme.AES256_GCM
);
} catch (GeneralSecurityException | IOException e) {
e.printStackTrace();
}
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putString("memberID", response.body().get(0).getMemberID().toString()).commit();
Второе действие
SharedPreferences sharedPreferences = getApplicationContext().getSharedPreferences("secret_shared_prefs", MODE_PRIVATE);
sharedPreferences.getString("memberID", "unknown");
В рамках того же действия getSharedPreferences () работает должным образом. При попытке получить доступ к настройкам в другом действии с помощью этого кода он всегда возвращает значение по умолчанию. Похоже, возникла проблема с расшифровкой.