0
내 활동에 일부 환경 설정이 있습니다. 이러한 환경 설정에 따라 일부 서비스가 시작되거나 중지된다는 것을 알리고 싶습니다. onSharedPreferenceChanged
메서드를 구현하려고하지만 호출되지 않습니다 (심지어 필드에 할당 한 경우에도 마찬가지 임). 코드는 다음과 같습니다.Android 환경 설정이 변경됨
public class MtprojectActivity extends Activity {
...
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
prefs = PreferenceManager.getDefaultSharedPreferences(this);
callsCheckbox = prefs.getBoolean("callsLogChk", true);
listener = new SharedPreferences.OnSharedPreferenceChangeListener() {
@Override
public void onSharedPreferenceChanged(SharedPreferences prefs, String key) {
if (!started) {
startCallsService();
bindCallsService();
} else {
releaseCallsService();
stopCallsService();
}
}
};
prefs.registerOnSharedPreferenceChangeListener(listener);
미리 감사드립니다.
예, 변경되었지만 청취자는 아직 전화를받지 못했습니다. – noloman
@noloman : OK, 나중에 편집하십시오. – Squonk
아니요, 어떻게해야합니까? onSharePreferenceChangedListener 내에서 어디에서해야합니까? – noloman