希伯来字母是空的

时间:2012-11-18 08:42:54

标签: android unicode utf-8 textview hebrew

我正在构建一个需要支持希伯来字母的应用程序(שלום)。我通过GCM(Google云消息传递)发送消息。每当我的OnMessage被调用时,我收到的字符串(希伯来语)都是空的。

这有什么简单的解决方法吗?提前谢谢!

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;
  }

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();

1 个答案:

答案 0 :(得分:0)

你可以尝试:

            String itemMessage = temp.getString(GCM_MESSAGE); 

以及

            json.put(GCM_MESSAGE, JSonObject.quote( ib.getmMessage() ) );