I am building an app which needs to support Hebrew letters (שלום). I am sending a message thru GCM (Google Cloud Messaging). Whenever my OnMessage
is called the string (Hebrew) that I am receiving is empty.
Is there any easy workaround for this? Thanks in advance!
protected void onMessage(Context context, Intent intent) {
String message = intent.getStringExtra(GCM_COMMAND);
String action = intent.getAction();
if ("com.google.android.c2dm.intent.RECEIVE".equals(action)) {
message = intent.getStringExtra(GCM_COMMAND);
String s = message.toString();
ItemBean ib =parseJson(s,context);
}
private ItemBean parseJson(String text,Context con) {
ItemBean item = null;
if (text != null) {
JSONObject temp;
try {
temp = new JSONObject(text);
String itemMessage = temp.get(GCM_MESSAGE).toString();
//This String is Empty!
String itemDate = temp.get(GCM_DATE).toString();
long currentTime = System.currentTimeMillis();
item = new ItemBean(currentTime,itemMessage,itemDate);
sendNotification(con,itemMessage,itemDate);
}
}
return item;
}
Server code from NetBeans
JSONObject json = new JSONObject();
System.out.println("******גגגגגגשלום*********");
json.put(GCM_MESSAGE, ib.getmMessage());
//This is hebrew no problem!
json.put(GCM_DATE, ib.getmDate());
Message.Builder builder = new Message.Builder();
Message message = builder.build();
MulticastResult result = sender.send(message, listOfRegisteredDevices, 5);
int success = result.getSuccess();