我每次都需要从数据库中获取不同的消息。我解释一下,当数据库中有新问题时,我希望用户收到类似“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();
}
};
非常感谢!
答案 0 :(得分:0)
您没有提到您在服务器端使用的代码来发送消息,但无论如何您可以发送任何您想要的内容,或者更确切地说,您可以发送密钥/值对最多4096字节。例如,您可以根据数据库的状态发送“问题”键或“答案”键。或者,您始终可以使用不同的值发送相同的密钥以确定消息类型。
您想要获得哪些类型?任何类型都可以作为String发送并由Android应用程序解析。