Android 共享首选项不起作用

标签 android sharedpreferences

我有一个服务,其中有 4 个全局静态 int 变量,并且我有一个 BOOT COMPLETE 和 Call 事件的接收器。我想做的是在执行 Call 事件接收器时保存这 4 个变量,并在执行 BOOT 接收器时检索它们(当然是在我重新启动手机时)但是两者都不起作用..另一件事是共享首选项设备重启时也有用吗??下面给出了代码

    SharedPreferences saved_values = this.getSharedPreferences(
              "com.example.app", Context.MODE_PRIVATE);
    saved_values.edit().putInt("call", MyService.callcount);
    saved_values.edit().putInt("callend",MyService.callendcount);
    saved_values.edit().putInt("network",MyService.network_count);
    saved_values.edit().putInt("ringing",MyService.ringingcount);
    saved_values.edit().commit();

并用于检索

     SharedPreferences saved_values = this.getSharedPreferences(
                  "com.example.app", Context.MODE_PRIVATE);
          MyService.callcount = saved_values.getInt("call", -10);
          MyService.ringingcount=saved_values.getInt("ringing", -10);
          MyService.    network_count=saved_values.getInt("network", -10);
          MyService.        callendcount=saved_values.getInt("callend", -10);

最佳答案

我用过这个并且对我有用。

用于保存

SharedPreferences saved_values = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
 SharedPreferences.Editor editor=saved_values.edit();
     editor.putInt("count",count);
             editor.putInt("foo",foo);
     editor.commit();

并用于检索

     SharedPreferences saved_values = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());

        count = saved_values.getInt("count", -1);

关于Android 共享首选项不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17852576/

相关文章:

java - 对齐网格布局中的动态按钮

android - 在 RecyclerView 中隐藏特定项目(在 SharedPreferences 中设置)

android - 获取 EditTextPreference 值

android - 如何在 Android 版 Google Analytics v4 中手动结束 session ?

android - html5 本地存储问题

android - 服务被销毁后的共享偏好

android - Android 中的 Preferences 和 SharedPreferences 有什么区别?

java - 每次请求 SharedPreference 时应用程序都会崩溃

android - 在设备上找不到图像

java - 找不到 onButtonClick 方法