0
서버에서 페치하여 프로젝트 발신자 ID를 동적으로 설정하려하지만 잘못된 발신자 ID 예외가 발생합니다. 나는 기본 응용 프로그램 클래스의 서버에서 보낸 사람 ID를 가져 와서 응용 프로그램이 시작되기 전에 가져오고 GCMIntentService의 getSenderIds() 메서드를 재정의했는지 확인합니다.GCM에서 동적으로 SENDER_ID 설정
public GCMIntentService() {
super();
}
@Override
protected String[] getSenderIds(Context context) {
String[] ids = new String[1];
ids[0] = SENDER_ID;
return ids;
}
하지만 잘못된 발신자 ID 예외가 발생합니다. 어떤 사람이 서버로부터 다이너믹하게 발신자 ID를 설정하는 방법에 대한 충분한 정보를 얻을 수 있다면 정말 고맙겠습니다.
언제 예외가 발생합니까? GCMBaseIntentService 코드에서 볼 수 있듯이 getSenderIds 메소드는 실패 후 GCM에 등록하려고 할 때만 사용됩니다. 처음 GCM에 등록한 코드에는 영향을주지 않습니다. 두 곳에서 동일한 발신자 ID를 사용하고 있습니까? – Eran
예 저는 모든 곳에 동일한 ID를 사용하고 있습니다. GCMIntentService의 생성자는 보낸 사람 ID를 사용합니다. 예외가 던져지는 곳. Java doc이 동적 ID 용으로 사용해야한다는 이유로 빈 super() 생성자를 사용하고 있습니다. –