2015-06-19 80 views
2

這是來自主要活動的點擊事件。 s3是編輯的文本值,我想在廣播接收器中使用來電時。訪問來自廣播接收機的共享偏好設置

public void clicksave(View shilpa) 
{ 
    SharedPreferences sharedPreferences = getSharedPreferences("my_prefs", MODE_PRIVATE); 
    SharedPreferences.Editor editor = sharedPreferences.edit(); 
    editor.putString("message", s3); 
    editor.commit(); 
} 

這是我使用的廣播接收器訪問的內容S3的值:

String pref = PreferenceManager.getDefaultSharedPreferences(context).getString("message", "Does not exist"); 

,但是當我試圖在這裏得到的值,它作爲「不存在」,而不是正確的值。請告訴我,我要去哪裏錯了

回答

0

可能是因爲您正在使用getDefaultSharedPreferences,請嘗試使用

SharedPreferences prefs = getSharedPreferences("my_prefs", Context.MODE_PRIVATE); 
String yourString = prefs.getString("message", "Doesn't exist"); 
+0

它給我在getSharedPreferences說錯誤「的方法getSharedPreferences(字符串,整數)是未定義的類型MyCallReceiver」 – kitzz

0

最後我得到了在主要活動這一

解決方案:

SharedPreferences pref = getApplicationContext().getSharedPreferences("MyPref", MODE_PRIVATE); 
    Editor editor = pref.edit(); 
    editor.putString("message", message); 
    editor.commit(); 

在廣播接收機中:

SharedPreferences pref = context.getSharedPreferences("MyPref", context.MODE_PRIVATE); 
     String a=pref.getString("message", null); 
0

在廣播接收器試試這個

SharedPreferences pref = context.getSharedPreferences("my_prefs", Context.MODE_PRIVATE);