Невозможно получить доступ к EncryptedSharedPreferences из других действий - PullRequest
0 голосов
/ 07 мая 2020

Первое действие

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 () работает должным образом. При попытке получить доступ к настройкам в другом действии с помощью этого кода он всегда возвращает значение по умолчанию. Похоже, возникла проблема с расшифровкой.

...