簡體   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