android - 在 Activity 之间使用共享偏好

标签 android sharedpreferences

我试图在我的项目的两个 Activity 之间共享一个共享偏好,但由于某种原因我无法传递数据。

我有读取共享首选项的 Activity A 和读取并编辑该共享首选项的 Activity B。

这是我用来在 Activity B 中编写共享首选项的代码:

SharedPreferences sharedPref = getSharedPreferences("myPrefs", Context.
    MODE_WORLD_WRITEABLE);
SharedPreferences.Editor editor = sharedPref.edit();
editor.putString("theme", "black");
editor.commit();

在 Activity A 中阅读:

SharedPreferences sharedPref = getSharedPreferences("myPrefs", Context.
    MODE_WORLD_WRITEABLE);
String theme=sharedPref.getString("theme","blue");

我尝试过使用不同的模式,它在 PRIVATE 模式下在 Activity B 中工作,但没有共享给 Activity A。出于某些原因,我认为我对这两个不同的 Activity 有两个不同的共享首选项(同名) .如何对这两项 Activity 使用相同的共享偏好?

最佳答案

你可以做得更简单——在任何 Activity 中:

SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);

您将在任何地方以这种方式拥有相同的偏好。

http://developer.android.com/reference/android/preference/PreferenceManager.html#getDefaultSharedPreferences(android.content.Context)

关于android - 在 Activity 之间使用共享偏好,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22138389/

相关文章:

android - 处理 appwidget 的多个实例

android - 为什么即使我在 android 中删除了融合位置 api 的位置更新,GPS 仍在使用中

android - FCM 通知在 Release模式下工作,但*不*来自 Play 商店

javascript - 在 MainActivity.java React-native Android 中找不到符号

javascript - 我可以在使用phonegap的Android应用程序中使用目录选择器吗?

Android 查看和编辑共享首选项值?我已完成保存

java - 在android studios和firebase实时数据库中,有什么函数可以获取某些特定数据所属的参数的名称?

android - 捕捉首选项点击事件的问题

flutter : How to Get all SharedPreferences keys except some Keys

Android - ToggleButton setChecked 和 setSelected 不工作