2014-05-24 2 views
0

안녕하세요. 나는 두 언어로 (es와 fr) 안드로이드 애플 리케이션을했습니다. 푸시 알림을 사용하고 있으며 사용자가 앱 화면 설정에서 선택한 언어에 따라 소리를 재생하고 싶습니다. 문제는 푸시가 올 때 앱이 종료되어 사용자 언어에 액세스 할 수 없다고 생각하는 경우입니다.한 언어로 된 소리가있는 Android 푸시 알림

예 : 사용자가 앱을 열고 fr과 es 사이에서 스페인어를 선택합니다 (공유 환경 설정에서 저장). 사용자가 앱을 닫습니다. 2 시간 후 사용자가 푸시 알림을 받으면 그 순간 스페인어 사운드가 재생되지만 그 순간에는 앱이 실행되고 있지 않습니다.

그럴 수 있습니까? . 공유 환경 설정에 액세스하고 언어를 가져올 수 있습니까?

미리 감사드립니다.

+1

시도해 보셨습니까? –

+0

간단히 말해서, 그렇습니다. –

+0

예, 비공개 무효 sendNotification (String msg, int intent) 메서드 ... 언어를 가져 오려고하지만 ... nullpointerexception. 감사합니다. –

답변

0

두 시간 후에 표시되는 알림을받는 방법을 모르겠습니다. 그러나 그것이 나 였다면 알람 관리자를 사용하여 언어 기본 설정을 확인하고 적절한 언어로 알림을 보내는 서비스를 호출 할 것입니다. 내가 추가 할 수 있다면 이러한 알림이 오는 경우

//getting the shared preference... 

SharedPreferences sharedPref = PreferenceManager.getDefaultSharedPreferences(this); 
//this -> Service class as service is inherited from a context 
String lang = sharedPref.getString(Settings.KEY_LANGUAGE_PREFS, 
    getResources().getString(R.string.language_default_value)); 
//provide default value 

, 나는 확실하지 않다 : 귀하의 질문에 공유 환경 설정에 액세스하는 방법에 대한 특정이기 때문에 다음과 같이

,이뿐만 아니라 서비스에서 수행 될 수있다 앱 자체 또는 웹 서버에서 가져옵니다. 어느 쪽이든 두 언어를 모두 지정하는 것은 귀하에게 달려 있습니다. 앱 내에있는 경우 두 값 언어 폴더에 모두 string.xml 값이 있어야합니다. 자세한 내용은 developer notes을 확인하십시오.

0

해결 방법 공유 환경 설정 메서드를 잘못 호출하여 내 자신의 질문에 대답했습니다. 예, 공유 환경 설정에 액세스하여 앱이 실행되고 있지 않을 때 푸시 알림으로 매개 변수를 가져올 수 있습니다.