【问题标题】:Get app's SharedPreferences in Android?在 Android 中获取应用程序的 SharedPreferences?
【发布时间】:2016-11-09 12:41:46
【问题描述】:

我正在尝试为我的项目创建一个库/模块,它将显示应用程序的所有 SharedPreferences。

获取所有 SharedPreferences 的一种方法是:

Map<String,?> keys = prefs.getAll();  // app sharedPreference

for(Map.Entry<String,?> entry : keys.entrySet()){
    Log.d("map values",entry.getKey() + ": " + entry.getValue().toString()); 
}

现在我试图在不知道应用程序偏好的情况下获取应用程序的所有偏好。

Map<String,?> keys = prefs.getAll(); // app sharedPreference (without knowing prefs)

这可能吗?

【问题讨论】:

  • 如果应用程序将重要信息存储在共享首选项中,这可能是一个安全问题
  • 最好的方法就是尝试一下。从文档看来这是可能的。

标签: java android sharedpreferences


【解决方案1】:

嗯,它应该可以工作,如果有的话......只是测试了以下,并没有得到任何回报。

SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
Map<String,?> keys = prefs.getAll();  // app sharedPreference

Log.d("- Starting -", "Printing");
for(Map.Entry<String,?> entry : keys.entrySet()){
    Log.d("map values",entry.getKey() + ": " + entry.getValue().toString());
}
Log.d("--- End ---", "Printing");

我自己用来存储 sharedPrefs 的内容类似于以下内容。如果有些人使用它,您将很难从中获取数据,如果不是不可能的话。

context.getSharedPreferences(SETTINGS_FILE, Context.MODE_PRIVATE);

更多信息和sharedPreferences的好用请看here.

【讨论】:

  • 我为 sharedPreference 添加了一些价值。然后我按照你的建议尝试了,没有得到任何回报。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-06-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多