0

我每次都需要从数据库中获取不同的消息。我解释说,当数据库中有新问题时,我希望用户收到类似“New_Question”的消息。如果数据库中有新答案,我希望用户收到类似“New_Answer”的消息。这样我在收到来自 GCM 的消息时可以做不同的事情。我该怎么做?此外,我想从 GCM 中获取一个不是字符串的对象。可能吗?我该怎么做?

这是我的一些代码:
GCMIntentService 类中的我的 onMessage 函数:

@Override
protected void onMessage(Context context, Intent intent) {
    Log.i(TAG, "Received message");
    String message = intent.getExtras().getString("price");

    displayMessage(context, message);
    // notifies user
    generateNotification(context, message);
}

我在 MainActivity 中的 onReceive 函数:

  public void onReceive(Context context, Intent intent) {
        String newMessage = intent.getExtras().getString(EXTRA_MESSAGE);
        // Waking up mobile if it is sleeping
        WakeLocker.acquire(getApplicationContext());


        // Releasing wake lock
        WakeLocker.release();
    }
};

非常感谢!

4

1 回答 1

0
  1. 你没有提到你在服务器端使用什么代码来发送消息,但无论如何你可以发送你想要的任何东西,或者更准确地说,你可以发送最多 4096 字节的键/值对。例如,您可以根据数据库的状态发送“问题”键或“答案”键。或者,您始终可以发送具有不同值的相同键来确定消息类型。

  2. 你想得到什么类型?任何类型都可以作为字符串发送并由 Android 应用程序解析。

于 2013-02-27T02:21:43.300 回答