繁体   English   中英

服务内部的Android sharedPreferences为空

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM