[英]Android sharedPreferences inside service is empty
我有一个android应用程序,它在启动时运行服务。 在我的MainActivity内部,我将数据写入sharedPreferences中:
String id="something";
SharedPreferences sp = this.getPreferences(this.MODE_PRIVATE);
SharedPreferences.Editor editor = sp.edit();
editor.putString("opt", id);
editor.commit();
我想读取正在运行的服务中的数据,但输出为“空”:
String content="empty";
SharedPreferences settings = this.getApplication().getSharedPreferences("settings",Context.MODE_PRIVATE);
content =settings.getString("opt", "empty");
Log.i("opt:",opt); // Logs "empty"
服务和应用程序之间是否共享SharedPreferences? 还是其他错误?
添加时,您使用的是默认的私有共享首选项,而获得价值时,则在调用特殊的命名共享首选项(“设置”)。 这将调用另一个名为“设置”的文件。 这就是为什么您的值是空的。 默认共享首选项和命名(“设置”)共享首选项不同。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.