adf mobile的Android推送通知:消息显示空白

时间:2014-05-29 15:46:03

标签: android mobile push-notification oracle-adf-mobile

我们正在尝试为adf mobile实施推送通知。 我们按照以下两个博客进行了实施 http://deepakcs.blogspot.in/2013/06/adf-mobile-push-notifications-with.html

对于服务器端,我们提到了此处提供的信息 http://javapapers.com/android/google-cloud-messaging-gcm-for-android-and-push-notifications/

我们在收到GCM的通知消息时遇到问题。当我们从我们的提供者应用程序发送通知时,我们会收到带有警报声音和客户端应用程序名称的通知,但消息将显示为空白或无效。

我们的onMessage()方法(这是当推送通知到达客户端应用程序时将调用的方法如下)

public void onMessage(Event event) {
    //Parsing the payload JSON string
    JSONBeanSerializationHelper jsonHelper = new JSONBeanSerializationHelper();
    try {
        PayloadServiceResponse serviceResponse =
            (PayloadServiceResponse)jsonHelper.fromJSON(PayloadServiceResponse.class, event.getPayload());
                    Map session = (Map)AdfmfJavaUtilities.evaluateELExpression("#{applicationScope}");

        String newMsg = serviceResponse.getCustomMessage();
        session.put("pNewMessage", newMsg);
    } catch (Exception e) {
        e.printStackTrace();

    }

我们正在尝试将收到的消息存储在应用程序范围中,以便在用户点击通知后显示在我们的UI页面中(当用户点击通知消息时,它将带他到此页面并需要显示通知消息) 但有些我们如何收到空白信息。只要我们从提供者方发送通知,就会发出通知警报声和客户端应用名称。

任何人都可以对此提出建议吗?

谢谢。

1 个答案:

答案 0 :(得分:0)

我在使用GCM时遇到了同样的问题。已收到通知,但某些设备的消息为空白。

我可以通过在NotificationCompat.Builder上添加以下内容来修复它:

.setContentTitle(appName)
.setContentText(message)

这是最终代码:

NotificationCompat.Builder nBuilder;
    nBuilder = new NotificationCompat.Builder(context)
        .setDefaults(Notification.DEFAULT_ALL)
        .setSmallIcon(smallIcon)
        .setWhen(System.currentTimeMillis())
        .setAutoCancel(true)
        .setContentTitle(appName)
        .setContentText(message)
        .setTicker(message)
        .setVibrate(new long[] { 100, 250, 100, 250, 100, 250 })
        .setSound(alarmSound)
        .setPriority(Notification.PRIORITY_MAX);