안드로이드 개발 질문/답변
(글 수 45,052)
서드 파트 서버에서 GCM 서버로 호출하는 부분입니다.
public class GCMServer {
public static void sendMessage(String registrationID, String strMessage) throws IOException {
Sender sender = new Sender(Const.API_KEY);
String regId = registrationID;
// strMessage 는 "안녕하세요 라고 잘들어옴"
Message message = new Message.Builder().addData("msg", strMessage).build();
List<String> list = new ArrayList<String>();
list.add(regId);
MulticastResult multiResult = sender.send(message, list, 5);
if (multiResult != null) {
List<Result> resultList = multiResult.getResults();
for (Result result : resultList) {
System.out.println(result.getMessageId());
}
}
}
}
어플리케이션에서 onMessage 로 서비스에서 받으면 안녕하세요가 다 깨져 있습니다.
영어는 잘 나옵니다. 어디서 수정해야 하나요.
2012.09.12 18:14:22
Message message = new Message.Builder().addData("msg", strMessage).build();
호출하기 전에
try {
byte [] eucBytes = strMessage.getBytes("EUC-KR");
strMessage = new String(eucBytes, "EUC-KR");
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
를 했는데요 똑같네요. 어떻게 해야 되죠. 막막하네요.
GCM 서버에서 요청할 때 유니코드 인코딩하시고 보내보세요.