2016-07-19 4 views
0

내 응용 프로그램과 독립적으로 실행되는 브로드 캐스트 수신기가 있습니다. 특정 번호로 전화가 오면 서비스를 실행해야합니다. 내 응용 프로그램 내의 공유 환경 설정에서 트리거링 번호를 저장하고 있습니다. 브로드 캐스트 리시버에서이 값을 얻으려면 어떻게해야합니까? 그러면 서비스 호출을 시작하기 전에 번호가 일치하는지 확인할 수 있습니다.브로드 캐스트 수신기의 기본 설정

나는 그것을 검색하는 내 수신기 내에서 다음 코드를 시도 :

변수

private SharedPreferences preferenceSettingsUnique; 
    private SharedPreferences.Editor preferenceEditorUnique; 
    private static final int PREFERENCE_MODE_PRIVATE = 0; 
    private static final String MY_UNIQUE_SETTINGS = "MY_UNIQUE_SETTINGS";  

을 함수에서 내가 널 (null)로

preferenceSettingsUnique = getSharedPreferences(MY_UNIQUE_SETTINGS,PREFERENCE_MODE_PRIVATE); 
tracker_trigger = preferenceSettingsUnique.getString("tracker_trigger",null); 

값 반환이있다.

누구나이 방법을 잘 알고 있다면 알려주세요.

편집 보여주는 당신은 환경 설정에서 데이터를 검색 할 때 tracking_trigger 키하지만, 당신이 존재하지 않는 키 tracker_trigger에 해당하는 데이터를 얻기 위해 노력하고있다으로 환경 설정에서 데이터를 저장하는

 preferenceSettingsUnique = getSharedPreferences(MY_UNIQUE_SETTINGS,PREFERENCE_MODE_PRIVATE); 
    preferenceEditorUnique = preferenceSettingsUnique.edit(); 

    final EditText trackertrigger_Field = (EditText) findViewById(R.id.Editsmstrigger); 
    preferenceEditorUnique.putString("tracking_trigger",trackertrigger_Field.getText().toString()); 

    boolean Success = preferenceEditorUnique.commit(); 
    if(Success){ 
     //ALERT MESSAGE 
     Toast.makeText(getBaseContext(),"Successfully Saved Settings.", Toast.LENGTH_LONG).show(); 
     super.onBackPressed(); 
    } 
+0

'SharedPreferences '에 값을 저장하는 데 사용하는 코드 표시 –

답변

0

절약 방법. 그래서 항상 null의 기본값을 반환합니다. 두 키를 동일하게 만드십시오.

+0

문제를 해결하려고 시도했지만 코드를 테스트하고 응답을 빠르게 업데이트 할 것이라고 생각합니다 –

+0

감사합니다. –

관련 문제