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