首页 > 解决方案 > 如何为 PreferenceActivity 和 PreferenceFragment 使用设备保护存储

问题描述

我需要将首选项从加密存储移动到设备保护存储,以便我也能够在用户锁定状态下访问这些首选项。为此,我使用了这种方法

createDeviceProtectedStorageContext().moveSharedPreferencesFrom(this,"preference_filename");

但我的应用程序还使用 PreferenceActivity 和 PreferenceFragment 将配置值添加到 SharedPreference。

如何告诉 PreferenceActivity/PreferenceFragment 使用设备保护存储而不是使用设备加密存储。

标签: androidsharedpreferences

解决方案


在你 getPreferenceManager().setStorageDeviceProtected()的.onCreatePreferencesPreferenceFragmentCompat

class MainPreferenceFr : PreferenceFragmentCompat() {
    override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
        preferenceManager.setStorageDeviceProtected()
        setPreferencesFromResource(R.xml.xxx, rootKey)
    }
}

推荐阅读