0
之間SharedPreferences我設置一個BroadcastReceiver偏好,但我不能AppCompatActivity閱讀。 我確實看了一些帖子,但我無法做到這一點。 活性和廣播接收器在相同的應用程序(相同的包名稱) 在一個BroadcastReceiver我對方法的onReceive此代碼:我不能共享廣播接收器和AppCompatActivity
SharedPreferences prefs = context.getApplicationContext().getSharedPreferences(PROPERTIES.SHARENAME,
context.MODE_PRIVATE);
prefs.edit().putBoolean("runnig", true).commit();
和活動我有:
SharedPreferences prefs1 =getApplicationContext().getSharedPreferences(PROPERTIES.SHARENAME,
MODE_PRIVATE);
boolean corriendo= prefs1.getBoolean("running",false);
但變量corriendo仍然是錯誤的。
我tryid與context.getShared ......在廣播接收器,使用下適用的承諾,在活動避免getApplicationContext(),我不能這樣做的工作。
非常感謝!
OMG,你把所有的原因,我沒有檢查3次,我沒有發現的個體差異。它現在工作! – Tito
不用擔心;東西發生。正如避免將來出現這種情況的一般技巧一樣:爲您的關鍵名稱設置一個常量。喜歡的東西:'公共靜態最後絃樂PREF_KEY_RUNNING = 「運行」',然後更新您的看跌期權,並得到充分利用這個常量:'putBoolean(PREF_KEY_RUNNING,真)'和'getBoolean(PREF_KEY_RUNNING,假)'。 –