我有一个服务,其中有 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/