android - 如何为 PreferenceActivity 和 PreferenceFragment 使用设备保护存储
问题描述
我需要将首选项从加密存储移动到设备保护存储,以便我也能够在用户锁定状态下访问这些首选项。为此,我使用了这种方法
createDeviceProtectedStorageContext().moveSharedPreferencesFrom(this,"preference_filename");
但我的应用程序还使用 PreferenceActivity 和 PreferenceFragment 将配置值添加到 SharedPreference。
如何告诉 PreferenceActivity/PreferenceFragment 使用设备保护存储而不是使用设备加密存储。
解决方案
在你 getPreferenceManager().setStorageDeviceProtected()
的.onCreatePreferences
PreferenceFragmentCompat
class MainPreferenceFr : PreferenceFragmentCompat() {
override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
preferenceManager.setStorageDeviceProtected()
setPreferencesFromResource(R.xml.xxx, rootKey)
}
}
推荐阅读
- excel - 使用 Powershell 将多个工作簿合并为一个工作簿工作表
- r - 在 read.csv 中提及 colClasses 如何影响我在 R 中的程序
- typescript - TypeScript addEventListener
- pacemaker - Ping 约束不移动 DRBD 主
- powershell - 在模块“SmbShare”中找到“New-SmbMapping”命令,但无法加载该模块
- python - scapy.srp 不给所有客户
- prolog - 在 Prolog 中验证两个列表的交集
- python - 无法在 selenium python 中一个一个地循环运行所有站点自动化
- flask - 无法连接到数据库上的 MySQL 服务器。使用 Docker 提供或未知的节点名或服务器
- swift - 以 1024 字节的块读取大的二进制数据文件