2011-03-05 5 views
1

수신자를 활성화 또는 비활성화하는 환경 설정 활동에 확인란을 추가하고 싶습니다. 이것은 부팅이 완료되었을 때 백그라운드에서 실행될 서비스를위한 것이며 두 가지에 의존 할 것입니다. 1) 기본 설정은 true이고 2)는 wifi를 사용할 수 있습니다.체크 박스를 사용하여 수신자 활성화

이렇게하면 다음과 같이 작동합니다. 와이파이

  • 무선 랜에 해당하는 경우를 찾습니다 - -

    1. 사용자는 checkboxpreference에 해당하는 경우 전화 수신기를 사용할 경우 (checkboxpreference에 의해 설정)
    2. 부팅 완료 확인
      • 을집니다 수신기
      등록

    wifi 또는 checkboxpreference가 "false"로 설정되고 수신을 등록 해제해야합니다. rs.

  • 답변

    0

    며칠 전에 같은 질문이 있었고 if 문에서 CheckBoxPreference를 사용했습니다. 나는 이런 식으로 짓 CheckBoxPreference 사용했을 때 그런

    prefs = PreferenceManager.getDefaultSharedPreferences(this); 
    prefs.registerOnSharedPreferenceChangeListener(this); 
    

    을 :

    이 코드로했다

    if(prefs.getBoolean("degrees", true)) { 
    
    } else { 
    
    } 
    
    0

    팀의 대답이 올바른지,하지만 잘 설명되지. 당신은 당신의 클래스에서 OnSharedPreferenceChangeListener을 구현해야합니다 :

    class Prefs extends PreferenceActivity implements OnSharedPreferenceChangeListener { 
    

    '힘'이 public void onSharedPreferenceChanged()을 구현하는 것입니다 이렇게.

    getPreferenceManager().getSharedPreferences().registerOnSharedPreferenceChangeListener(this); 
    
    : 팀이 onCreate() 방법에 설명 된대로 설정이 방법이 있으면

    public void onSharedPreferenceChanged(SharedPreferences pref, String key) { 
    
        if (key == "receiversToggle"){ 
    
         if (pref.getBoolean("receiversToggle", false)) enableReceivers(); 
         else disableReceivers(); 
        } 
    } 
    

    , 당신은 리스너를 등록 할 수 있습니다 : 당신은 사용자가 변경 사항에 대응할 수있는 곳 여기입니다

    관련 문제