2013-04-26 63 views
0

我的應用程序工作良好,直到我準備好部署爲止。我有一部分應用程序檢查是否在首選項中選中了複選標記。那麼因爲我添加了一個庫,並且正在運行另一個應用程序(創建了一個免費版本的應用程序,並試圖將我的代碼保存爲一個庫),它總是返回false。Android - 應用程序不會正確地從庫中讀取共享首選

 SharedPreferences appPrefs = context.getSharedPreferences("com.company.widget_preferences", Context.MODE_PRIVATE); 
    boolean blNotifications; 
      blNotifications = appPrefs.getBoolean("notifications_new_message", false); 

if (blNotifications) 
{ 
    //always returns false 
} 

感謝您的幫助。

+0

你在那裏有'notifications_new_message'這個鍵嗎?如果它不存在,它默認爲'false' - 你能證實嗎? – t0mm13b 2013-04-26 22:17:42

+0

發佈您的閱讀部分的代碼。 – minhaz 2013-04-26 22:19:04

+0

可能是不允許閱讀它?你確實添加了它作爲一個庫的細節,可以使它成爲一個不同的包,從而拒絕訪問? – cgv 2013-04-26 22:22:22

回答

0

把它弄出來了。出於某種原因,在開發中使用SharedPreferences appPrefs = context.getSharedPreferences,但是一旦我將它變成一個庫,它就不再喜歡它了。調用默認共享首選項的正確方法如下。

SharedPreferences pref = PreferenceManager.getDefaultSharedPreferences(this); 
String value = pref.getString("name_of_my_pref", "default_value"); 

再次感謝。