2014-10-08 2 views
1

위젯에서 활동 및 서비스를 시작했습니다. 나는 Activity와 Service 모두에서 하나의 sharedpreference를 사용한다. 활동에서 환경 설정 값을 업데이트 할 때 서비스에서 업데이트되지 않습니다. 코드를 참조하십시오. 당신이 공유 환경 설정에 액세스 할 때SharedPreference 값이 업데이트되지 않았습니다.

SharedPreferences myPref = getSharedPreferences("mPrefValue", Context.MODE_PRIVATE); 
String targetValue = myPref.getString("mPrefValue", "0"); 
System.out.println("targetValue "+targetValue); 
+0

은 'myPref' 또는'preferences'입니까? – Blackbelt

답변

1

, 당신은 그냥 두 번째 매개 변수로 MODE_MULTI_PROCESS를 지정 getSharedPreferences(String name, int mode);를 호출합니다.

0

문제를 더 잘 이해할 수 있도록 조금 더 많은 코드를 붙여주십시오.

어떻게이 SharedPreferences를 채웠습니까? 환경 설정이 SharedPreferences 객체에 올바르게 "업로드"되었는지 확인하기 위해 .commit() 메소드를 사용 했습니까 (새로운 환경 설정 추가 후)?

그렇다면이 문제가 계속 발생하면 SharedPreferencesListeners를 사용하는 것이 다른 해결책 일 수 있다고 생각합니다. http://developer.android.com/reference/android/content/SharedPreferences.OnSharedPreferenceChangeListener.html

는 안녕 :)

1

가 커밋하는 것을 잊지 마십시오 를보세요?

myPref.edit().putString("mPrefValue", "a value").commit(); 
관련 문제